목록Programming Language/C++ (32)
배움 저장소
템플릿 멤버 변수의 자료형만 다를 뿐 같은 구현이 동일한 클래스가 있다면 여러 번 정의하기 번거롭다. 이때 템플릿이 유용하다. template class MyClass { public: T data_; }; int main() { MyClass my_int; MyClass my_double; my_int.data_; my_double.data_; cout
구조체 구조체와 배열의 차이 구조체는 여러 자료형을 묶어놓을 수 있다. MyStruct a{ int first; float second; }; 구조체의 패딩(padding) MyStruct2 구조체 멤버변수의 총 크기는 5byte이지만 구조체 전체의 크기는 8byte이다. 컴파일러가 패딩을 추가하였다. struct MyStruct { int first; // 4 bytes int second; //4 bytes }; struct MyStruct2 { int fist; // 4 bytes char second; // 1 bytes }; int main() { cout

포인터 ampersand & int a = 1; cout

반복 참고 : Character 자료형의 크기는 1byte 이다. 따라서 문자열 크기를 sizeof로 계산할 때 문자 자료형의 크기로 나누어줄 필요가 없다. char my_string[] = "Hello, World!"; // 배열 크기를 알아서 결정 cout
자료형 리터럴(Literal) : 적어놓은 그대로가 값이다. char c = 'a'; // 이 때 'a'가 literal 변수(Variable) : 변수 이름 그리고 변수이름이 가리키는 메모리 공간 형변환 double > int int i = 987.654; 위 i 값을 출력하면 987. C++표준에서 double > int 형변환은 버림한다. double > float float f = 567.89; double 값을 float로 형변환 하였다. 불리언 cout

프로그램의 작동 과정 Stack : 프로그램 실행시 미리 할당하는 공간으로 저장용량이 정해져있다. Heap : 프로그램에 사용할 공간으로 저장용량이 정해져있지 않아 확장 가능하다 Data Text : 프로그램 코드, CPU에게 명령을 내린다. Memory Layout in C++ Memory Management In OS medium.com 헬로우 월드 printf vs cout cout(character out)이 더 편리하다. cout - 자료형 설정이 필요하지 않다. - "

20.1 비쥬얼 스튜디오로 프로파일링 하기 참고자료 https://docs.microsoft.com/en-us/visualstudio/profiling/?view=vs-2019 Measure performance in Visual Studio - Visual Studio (Windows) Learn how to use Visual Studio to measure performance using profiling tools. docs.microsoft.com CPU와 Heap memory를 profiling 해보자 - 정밀한 프로그램을 만드는 경우 CPU와 Memory를 동시에 profiling하면 정확도가 떨어질 수 있다. 하나씩 하자 - Debug 모드로 실행하여 Diagnostic tool을 이용하자..

19.1 람다 함수와 std::function std::bind, for_each Lambda 익명 함수를 만들기 위하여 lambda람다를 사용한다 /* lambda [] : lambda - introducer () : lambda - parameter - declaration -> : lambda - return - type - clause {} : compound - statement */ auto lambda = [](const int&i)-> void { cout Hello World >> -11 Lamda - Capture clause - 람다 함수의 매개변수를 다양한 방법으로 설정할 수 있다. - Ampersand(&)를 사용하면 람다 함수 내에서 해당 영역에 있는 모든 변수를 참조할 수 있다..