목록프로그래밍언어 (2)
삶의 공유
오늘은 C++11 에서 부터 추가된 Null Ptr(널 포인터) 에 대해 살펴 보겠다. nullptr 먼저 아래의 코드를 보자 위의 2줄은 ok이지만, 마지막 2줄에서는 error가 발생 한다. 왜 일까? #include int main(int argc, const char * argv[]) { // insert code here... int n1 = 0; // 1. ok int* p1 = 0; // 2. ok int* p2 = 10; // 3. error int* p3 = n1; // 4. error } 먼저 int n1 = 0; 구문에서 이 '0'에 대해서 생각 해보자. 이 '0'은 바로 정수(int)형 literal 이다. 즉 포인터 변수 초기화에 사용이 될 수 있다. (포인터로 암시적 형 변환) ..

string 클래스를 직접 만들어, 우리가 string a = "a" 이렇게 쉽게 작성했던 것들이 어떻게 동작하는지 이해를 해보고자 한다. 먼저 정의 부분은 다음과 같다. #include class string { char *str; int len; public: string(char c, int n); // 문자c 가n 개있는문자열로정의 string(const char *s); string(const string &s); //~string(); void add_string(const string &s); // str뒤에 s를 붙인다. void copy_string(const string &s); // s를 복사한 값을 str에 대입한다. int strlen(); // 문자열 길이 리턴 }; 변수는 *s..