목록C++/정보 (7)
서의 공간
1. 전방 선언 2. 인터페이스 이용 [C++]인터페이스를 이용하여 상호참조와 종속성을 최소화하는 방법 (tistory.com)
#include #include using namespace std; /* optional 예제 함수의 리턴값이 존재하는지 안하는지에 따라 조건식을 구성할 수 있다. */ int branchNum = 0; optional GetIntOptional() { if (branchNum > 10) return branchNum; return {}; } int main() { while (true) { cout > branchNum; // if문의 참 조건은 GetIntOptional()의 리턴값이 int일 경우에 참이다. // int일 경우만 if문을 실행한다. int가 아니라면 거짓이 됨. // while문은 10 이상의 숫자를 대입할 경우에만 종료가 된다. if (auto result = GetIntOpti..
1. 내부 싱글톤 클래스 #include using namespace std; /* 내부 private한 싱글톤 클래스의 사용방법임. chili window클래스의 핵심이므로 계속 참고할 것. */ class OuterClass { public: class InnerClass { public: InnerClass() { cout
C/C++은 nested subroutine을 지원하지 않습니다. 이는 언어를 간단하게 만들기 위하여 취한 조치라고 볼 수 있겠죠. 말씀하신 것처럼 nested subroutine을 지원하게 될 경우, referencing environment를 설정하기 위해 함수호출시에 상당한 오버헤드가 발생하게 됩니다. 말씀하신 것처럼 main()안에서 fun()을 정의한다고 할때, 다음과 같은 변수 선언이 이루어진다고 하면, void main() { int i, j; // (1) void fun() { int j; // (2) i = 0; // (1)의 i에 값을 할당합니다. j = 1; // (2)의 j에 값을 할당합니다. } fun(); } 이때, i는 main()내에서 선언된 변수이므로, main()안에 있는..
1. vector::erase - C++ Reference (cplusplus.com) Removes from the vector either a single element (position) or a range of elements ([first, last)). This effectively reduces the container size by the number of elements removed, which are destroyed. Because vectors use an array as their underlying storage, erasing elements in positions other than the vector end causes the container to relocate all..
XML 문서(Visual C++) | Microsoft Docs /// ///Description /// int func() { ... }
The two functions do vastly different things The resize() method (and passing argument to constructor is equivalent to that) will insert or delete appropriate number of elements to the vector to make it given size (it has optional second argument to specify their value). It will affect the size(), iteration will go over all those elements, push_back will insert after them and you can directly ac..