목록2025/05/16 (2)
나만의 작은 도서관
주의사항: 해당 글은 일기와 같은 기록용으로, 다듬지 않은 날것 그대로인 글입니다. Protobuf keyword 재정리: Package, Optional, Oneofpackagepackage는 이름 충돌을 예방하기 위한 키워드이다.syntax = "proto3"package Protocol;message S_TEST { ... }위와 같이 .proto 파일을 작성하면 protoc를 거쳐 나온 xxx.pb.cc 와 xxx.pb.h에서 package이름으로 namespace가 만들어지고 message들은 해당 namespace 안에 정의되어 있게 된다(C++기준)프로젝트 내에선 아래와 같이 사용할 수 있다.// package Protocol에 의해 namespace가 Protocol인 S_TEST 클래스..
주의사항: 해당 글은 일기와 같은 기록용으로, 다듬지 않은 날것 그대로인 글입니다. 템플릿에서 정의한 타입 매개변수(typename)는 반드시 템플릿 인자로 넘겨주지 않아도 된다.템플릿 매개변수는 넘겨준 템플릿 인자를 통해 타입이 결정된다. 따라서 템플릿 매개변수가 2개라면, 반드시 템플릿 인자도 2개를 넘겨줘야 되는 줄 알았다.// 정의templatevoid add(T a, U b) { return a + b;}// 템플릿 함수 호출int result1 = add(1, 2); // => 3하지만 이는 템플릿 매개변수를 명시적으로 알려줄 뿐, 컴팡일러가 추론이 가능하다면 반드시 적어줄 필요는 없다.int result2 = add(1, 2); // => 3이렇게 C++ 컴파일러는 타입 추론(type ..