Advanced C++

1.[Advanced C++] 1. main(), 주석(comment), Object & Variable, iostream(cout & cin & endl)

post-thumbnail

2.[Advanced C++] 2. Unitialized Variable, Keyword & Naming Identifier, WhiteSpace & 코드 가독성 향상, Literal & Operator

post-thumbnail

3.[Advanced C++] 3. Function, Local Variable, 임시객체

post-thumbnail

4.[Advanced C++] 4. 전방선언 , 식별자 선언&정의에 대해, C++컴파일방식, 명명충돌 & namespace, 전처리기 & 전처리지시문

post-thumbnail

5.[Advanced C++] 5. 헤더파일, 헤더가드

post-thumbnail

6.[Advanced C++] 6. Syntax & Sementic Error, Debugging Process

post-thumbnail

7.[Advanced C++] 7. DataType, void, Object size & sizeof, Integer, Fixed-width Integer & size_t

post-thumbnail

8.[Advanced C++] 8. float & double, bool, char, if statements

post-thumbnail

9.[Advanced C++] 9. 암시적 형변환, static_cast, const & macro, literal & magic number

post-thumbnail

10.[Advanced C++] 10. Numeral System, 최적화(optimization), 컴파일 타임 프로그래밍, constexpr

post-thumbnail

11.[Advanced C++] 11. Constexpr function

post-thumbnail

12.[Advanced C++] 12. std::string ,std::string_view

post-thumbnail

13.[Advanced C++] 13. operator, 실수끼리의 비교 (epsilon)

post-thumbnail

14.[Advanced C++] 14. {} 복합 명령문, 사용자 정의 namespace, local & global variable, Internal Linkage

post-thumbnail

15.[Advanced C++] 15. External Linkage, 비상수 전역변수 사용, inline function

post-thumbnail

16.[Advanced C++] 16. Share const global variable, inline variable, static local variable, using, Unnamed namespace & inline namespace

post-thumbnail

17.[Advanced C++] 17. FlowControl(if, else, elseif, constexpr if, switch), Null Statement, Fallthrough

post-thumbnail

18.[Advanced C++] 18. goto, loop(for, while, do while), break & continue, halt(std::exit, atexit, quick_exit, abort, terminate)

post-thumbnail

19.[Advanced C++] 19. Random number algorithm (PRNG, seeding & under seeding ,Mesenne Twister, std::random_device, std::seed_seq)

post-thumbnail

20.[Advanced C++] 20. Code Test, Code Coverage (Branch Coverage, Loop Coverage), Sementic Error, Detect Error & Handling, Assertion

post-thumbnail

21.[Advanced C++] 21. 암시적 형변환, Numeric Promotion (숫자 승격), Numeric Conversion (숫자 변환),

post-thumbnail

22.[Advanced C++] 22. Narrowing Conversion(축소 변환), Arithmetic Conversion(산술 변환), Casting, Type Aliases(타입 별칭 (using, typedef))

post-thumbnail

23.[Advanced C++] 23. auto, 함수 반환형에서의 auto, 함수 매개변수에서의 auto, decltype(), Trailing Return Type (후행 반환 타입)

post-thumbnail

24.[Advanced C++] 24. Function Overloading, Function Overloadion Resolution, Function Delete, Default Arguments

post-thumbnail

25.[Advanced C++] 25. Function Templates

post-thumbnail

26.[Advanced C++] 26. Compound Type, lvalue & rvalue, lvalue & rvalue reference, const lvalue reference

post-thumbnail

27.[Advanced C++] 27. 포인터, 주소 & 역참조 연산자, 포인터 vs 참조, nullptr, const 포인터, pass by address, 포인터&, std::nullptr_t

post-thumbnail

28.[Advanced C++] 28. reference/address return, Input/Output Parameter, auto with pointer & reference, std::optional

post-thumbnail

29.[Advanced C++] 29. user-defined type, enum, std::transform(), std::tolower(), string_view.begin() & end(), ostream & istream (<<, >>) operator overloading, std::cin.setstate(), std::cin.ignore()

post-thumbnail

30.[Advanced C++] 30. enum class, struct & members & member selection, struct function inpu & output, temp struct, struct initialization

post-thumbnail

31.[Advanced C++] 31. struct 추가내용, struct 크기 및 정렬(padding), struct 멤버 접근, class template, std::pair, CTAD, Alias template

post-thumbnail

32.[Advanced C++] 32. procedural & object oriented programming, class, member function & implicit object, const class type & const member function, access specifier

post-thumbnail

33.[Advanced C++] 33. Access function(getter/setter), Encapsulation, Data hiding, class data declaration order

post-thumbnail

34.[Advanced C++] 34. Constructor, 생성자 규칙, 생성자 멤버 초기화 리스트, 기본 생성자, 기타 생성자, =default

post-thumbnail

35.[Advanced C++] 35. Delegate constructor, Temporary class object & return by value

post-thumbnail

36.[Advanced C++] 36. Copy constructor, =delete, Class initialization, copy elision

post-thumbnail

37.[Advanced C++] 37. Converting constructor, explicit, constexpr aggregate, literal type

post-thumbnail

38.[Advanced C++] 38. this pointer, class & .h, .cpp, library

post-thumbnail

39.[Advanced C++] 39. Nested Type, destructor, 멤버 함수를 가지는 클래스 템플릿, injected class name, member function template

post-thumbnail

40.[Advanced C++] 40. Static member variable & member function, friend non-member function & member function & class, Ref qualifiers

post-thumbnail

41.[Advanced C++] 41. Container (array, std::vector, vector initialization)

post-thumbnail

42.[Advanced C++] 42. container size & index type(signed, unsigned, size_t), size(), ssize(), indexing, std::vector passing, at(), copy semantic, move semantic

post-thumbnail

43.[Advanced C++] 43. Container & loop, off-by-one error, container loop에서의 부호 문제, for-each, enum & enum class를 이용한 인덱싱 및 길이관리

post-thumbnail

44.[Advanced C++] 44. std::vector resizing and size & capacity, reallocation, shrink_to_fit(), stack behavior, reserve, std::vector<bool>

post-thumbnail

45.[Advanced C++] 45. std::array, const & constexpr std::array, length & indexing, std::get<>(), std::array passing & returning, 클래스 타입 element의 std::array

post-thumbnail

46.[Advanced C++] 46. std::reference_wrapper, enumerator를 이용한 std::array, 배열을 사용한 enuemrator 활용 및 instream outstream 연산자 오버로딩

post-thumbnail

47.[Advanced C++] 47. C-style array, C-style array sizeof(), length, decay, Pointer연산 및 [ ]연산, 음수 index, Pointer연산으로 배열 순회

post-thumbnail

48.[Advanced C++] 48. C-style string, C-style string function, const C-style string, Multidimensional C-style 배열 & std::array, 2차원 배열 Flattening, std::mdspan(C++23)

post-thumbnail

49.[Advanced C++] 49. Sorting array, Iterator, invalidated iterator, STL algorithm, std::find, std::find_if, std::count, std::count_if, std::sort, std::for_each, std::ranges::, std::next

post-thumbnail

50.[Advanced C++] 50. 코드 실행 시간 측정, chrono library, std::iota, 프로그램 성능에 영향을 미치는것들, release & debug build, Dynamic memory allocation (new, delete), Memory leak, dangling pointer, 동적 메모리 할당 실패, 동적메모리 할당 과정

post-thumbnail

51.[Advanced C++] 51. Dynamic allocating array, Destructor (with delete), RAII, 다중 포인터, 동적 다차원 배열

post-thumbnail

52.[Advanced C++] 52. Void pointer, std::variant, std::any, Function Pointer, std::function

post-thumbnail

53.[Advanced C++] 53. Stack & Heap, Call Stack, Stack Overflow, Recursion (재귀), Command Line Arguments (int main(int argc, char* argv[]))

post-thumbnail

54.[Advanced C++] 54. Ellipsis(가변 인자 리스트), 매개변수 pack & fold 표현식, lambda

post-thumbnail

55.[Advanced C++] 55. lambda capture, lambda 복사, std::reference_wrapper, std::ref()

post-thumbnail

56.[Advanced C++] 56. operator overloading (산술, I/O operators), std::cin.setstate(std::ios_base::failbit)

post-thumbnail

57.[Advanced C++] 57. 멤버 함수 오버로딩, 단항 연산자 오버로딩, 비교 연산자 오버로딩, spaceship operator <=>, 증감 연산자 오버로딩(전위, 후위)

post-thumbnail

58.[Advanced C++] 58. []연산자 오버로딩, std::as_const, this auto&&, () 연산자 오버로딩, typecase 오버로딩, =연산자 오버로딩, self-assignment 문제점

post-thumbnail

59.[Advanced C++] 59. Shallow & Deep Copy, 연산자 오버로딩과 함수 템플릿

post-thumbnail

60.[Advanced C++] 60. Smart Pointer 원리, Move semantic 원리, R-value reference, Move constructor, Move assignment, NRVO & Copy Elision, 복사 비활성화, Rule of Five & Zero, std::swap

post-thumbnail

61.[Advanced C++] 61. std::move, SmartPointer(std::unique_ptr, std::shared_ptr, std::weak_ptr)

post-thumbnail

62.[Advanced C++] 62. std::initializer_list, Inheritance

post-thumbnail

63.[Advanced C++] 63. Access specifiers, 상속 시 접근 지정자, 상속 관계에서의 함수 재정의, Hide inherited function, 상속 후 접근 지정자 변경, 가상 함수 상속과 접근 지정자, 참조&값 캐스팅 차이

post-thumbnail

64.[Advanced C++] 64. Multiple inheritance, Mixin Class, virtual function, virtual function이 필요한 이유, Polymorphism, 가상 함수 사용 시 주의할 점

post-thumbnail

65.[Advanced C++] 65. override & final, virtual destructor, Ignoring virtualization, Early & Late Binding (static, dynamic binding)

post-thumbnail

66.[Advanced C++] 66. virtual table, vptr, 동적 바인딩, 정적 바인딩, pure virtual function, abstract class, interface class, virtual base class, Object slicing

post-thumbnail

67.[Advanced C++] 67. dynamic_cast, 상속 관계에서 operator<<를 이용한 출력

post-thumbnail

68.[Advanced C++] 68. Template Class, Template non-type param, Function template specialization, Class template specialization, Member function template specialization

post-thumbnail

69.[Advanced C++] 69. Partial template specialization, 포인터에 대한 부분 템플릿 특수화(스마트 포인터 활용)

post-thumbnail

70.[Advanced C++] 70. Exception (try, throw, catch), stack unwinding, Exception with function, Uncaught exception & catch-all-handler, 멤버 함수에서의 예외처리, 생성자에서의 예외처리, Exception class, 상속관계에서의 throw-catch, std::exception & std::runtime_error, 예외객체의 수명

post-thumbnail

71.[Advanced C++] 71. Rethrowing exception, Function try block, 예외의 위험성 & 단점, Exception speicification, noexcept, std::move_if_noexcept

post-thumbnail

72.[Advanced C++] 72. I/O stream, format flag & manipulator

post-thumbnail

73.[Advanced C++] 73. String Stream, Stream state & input validation (문자열, 숫자)

post-thumbnail

74.[Advanced C++] 74. File I/O, File Mode, Random file I/O, fstream을 이용한 I/O

post-thumbnail