C++
포인터와 주소연산자의 차이
주소연산자는 선언할 때 바로 초기화를 해줘야한다. void insert(char &name); 이런 식으로 insert가 생성되면서 바로 name이 들어가야 하는데 포인터('*')는 그렇지 않다. 따라서 만약 &을 사용해서 코딩을 했는데 초기화에 관련된 에러가 떴다면 한번정도 의심해도 된다.
[c++] 클래스 속 클래스의 관계에서 private를 사용할 수 있는가?
1. 키워드inclass, c++,c, class,private, protected, public,error, within, this, context, nested class,inner, 2.아래의 코드의 관계에선 에러가 뜬다. private란다. pickup이. #include class Test { class In{ private: void pickup(int data) { printf("data : %d\n", data); } }; public: int data; Test() { printf("create Test class\n"); In inclass; data = 5; inclass.pickup(data); } private: }; 3.class속의 class의 구조가 어떤 이름을 정의 되어 있..
[c++] 제너릭(템플릿)과 형 안전성 ( <, > func<int> 등) 소스
1.키워드 : 제너릭,형, 템플릿,c++,c,java 2.http://blog.naver.com/seektruthyb?Redirect=Log&logNo=150114746546 3. 이건 template선언 후 포인터로 할당하여 사용한 것. #include #include template class Temp { private: T data; public: void setData(T data) { this->data = data; } T getData() { return this->data; } }; int main(int argc, char* argvp[]) { char *pChar; pChar = new char[10]; strncpy(pChar, "hello", 10); pChar[5] = '\0'; ..
[c++/c] linux환경, 파일, 폴더 생성 소스 포스팅
1.그냥그냥 모아놓으면 어차피 내 소스니깐 내가 쓰기 편해서 지속적으로 올려 놓을 생각이다. 2. 키워드 : 파일, 폴더, 생성, 소스, 코드, file, fopen 3. #include #include #include #include int main() { //********************************* // create directory //********************************* struct stat st = {0}; if( stat("com", &st) == -1 ) { mkdir("com", 0700); } else printf("fail\n"); //********************************* // create file //**********..
[c++] 상속이란 무엇인지는 아는데, 어떻게 쓰는 것인가?
1.딱 상속하면 될것 같은 구조가 있는데, 내가 상속을 모른다.. 대략적인것 뿐 몰라서c++에서 사용하는 방법을 익힌다. 2.여기에 소스가 있다. ( http://blog.naver.com/sealclear?Redirect=Log&logNo=20187633452 )한번 실험을 해보자.#include using namespace std; class account { int acc_num; int balance; char name[20]; public : account(int _acc_num, int _balance, char * _name) { acc_num = _acc_num; balance = _balance; strcpy(name, _name); } void showdata() { cout
[c++] pthread의 detach란...
1.pthread_join을 사용하다가 join보다 더 괜찮은 것이 있다는 소식을 듣게 되었다.그 이름은 'detach' detach는 thread가 할일이 끝나면 알아서 자원을 해제하고 없어진다고 한다.이것이 되는 근본적인 바탕은 detach 옵션을 주면 main thread와 sub thread가 분리되서 sub thread가 죽으면 그냥 해제되는 것이라고 한다. 2. 사용하는 방법은 2가지가 존재한다.detach를 thread create하기 전에 설정할 것이냐, create한 후에 할 것이냐.어떤것을 하던지간에 해제되긴 하지만 논리 순서상 깔금한 것은 pthread가 생성되기 전에 선언하는 것이다. 3. 두가지의 사용 방법. (http://www.morenice.kr/75)( copy : http..
[c++] fwrite의 thread-safety란
1.fwrite의 기능은 thread에 safety하지 못한가?구글링을 해보니깐 thread-safe와 atomic이란 두개의 개념이 존재했다. 이것 먼저 집고 가자. 2. thread-safe란멀티 thread에 의한 동시에 작업되는 공간에서 보장된 신뢰도 있는 작업을 할 수 있는 데이터 구조에 대한 것을 의미한다.(http://en.wikipedia.org/wiki/Thread_safety) 3. atomic이란대략 자원경쟁을 막는 하나의 데이터를 보호하는 것같은데.. 찾기가 어렵네;(http://2cpu.co.kr/bbs/board.php?bo_table=QnA&wr_id=286485) 정리 : atomic이란 원자와 같은 성질을 같은 구조로 thread safety도 만족하면서 예상되는 결과도 보..
[c++] 변수 선언에 대해서
1. 변수 선언을 별생각 안하고 하다가 복병을 만났었다.그래서 주변 구루분들에게 여쭤보았다. 2. 변수를 선언하는 것은 스택에 공간을 할당하면서 어떤 타입으로 쓸지를 선언하는 것이다.즉 int, int *, int ** 등이 성질이 동일한 공간에 할당되지만 각기 기능이 달르게 설정되어 있어서 실제로 동작하는 방식도 다르게 된다. 여기서 생각해볼때 변수의 타입은 선언하는 것의 저장할 모양을 명시함과 동시에 논리적인 저장 구조를 갖는다는 생각을 하게 되었다. 3.예시를 하나 적는다. void main() { char ****a; char ***b; char **c; char *e; char d; e = &d; c = &e; b = &c; a = &b;} 이런 식으로 구성되며 b는 주소의 (1) 주소의 (2)..