Reference3 [C++ Core Guidelines] I.11 원시 포인터(T*) 또는 참조(T&) 로 소유권을 넘기지 말자 I.11: Never transfer ownership by a raw pointer (T*) or reference (T&) 이유함수를 호출하거나 함수에서 결과를 반환할 때 누가 해당 데이터의 소유권을 책임지고 있는지 제대로 신경쓰지 않으면 메모리 릭을 일으키거나 실수로 미리 소멸자를 부르는 일이 발생할 수 있습니다. 예시 (나쁜 예)// 나쁨 : 이 함수만 보고는 X 를 누가 책임지고 지울지 알 수가 없습니다.X* compute(args){ X* res = new X{}; // ... return res;} 반환된 X는 누가 삭제할 것인지 의도를 알 수 없습니다. 포인터 대신 참조를 반환하면 문제를 발견하기 더 어렵게 만듭니다.위 경우 차라리 값으로 결과를 반환하는 것이 낫습니다. .. 2024. 12. 10. [C++] 학습시 참고 할만한 사이트 정리 레퍼런스Standard C++https://isocpp.org/C++ 의 표준을 관리하는 기관인 ISO 에서 직접 운영하는 사이트, 최신 문법에 대한 뉴스, C++ 컨퍼런스 및 레퍼런스 문서들을 볼 수 있습니다. C++ Referencehttps://en.cppreference.com/백과사전처럼 필요한 문법의 형태와 예시를 찾는데 적합합니다. CPlusPlus.comhttps://cplusplus.com/위 cppreference.com 보다 예시가 더 단순하며 초보자에게 보다 친숙합니다. More C++ Idiomshttps://en.wikibooks.org/wiki/More_C%2B%2B_Idioms자주 사용되는 관용적 표현이지만 (특히 템플릿 관련) 초보자가 처음 보기엔 어렵게 느껴질 수 있는 용.. 2024. 3. 21. [Zig] 포인터(pointers) 포인터를 정의하는 방법은 다음 같습니다. --------------------------------------------------------------------------------------------------- const 또는 var 포인터 이름 : * 포인터가 가리킬 데이터의 형태와 크기 = 할당할 초기 레퍼런스(주소) 값 또는 undefined 할당할 레퍼런스(주소) 초기 값 을 undefined 로 정의하면 초기 값을 설정하지 않고 나중에 값을 할당한다는 의미입니다. 포인터가 가리키는 값을 역참조(dereferencing) 할 때는 포인터 이름 .* 를 통해 가능합니다. -------------------------------------------------------------------.. 2024. 3. 21. 이전 1 다음