C++17 - 튜플을 유저 정의 타입으로 변환하는 make_from_tuple 함수
예제 코드 #include <iostream> #include <string> #include <tuple> struct Person { int id; double bodyHeight; std::string name; Person(int id, double bodyHeight, const std::string& name) : id(id), bodyHeight(bodyHeight), name(name) {} }; int main() { std::tuple<int, double, std::string> t(1, 152.3, "Alice"); Person...
더 읽기
C++17 - 숫자를 문자열로 변환하는 to_chars(), 문자열에서 숫자로 변환는 from_chars()
로케일은 C 로케일(POSIX 로케일) 고정 함수 내에서 동적 메모리 할당이 없다. 즉 호출 측에서 만들어줘야 한다 포맷은 파라메터로 주고, 자동적으로 포맷을 해석할 수 없다 사용할 수 있는 포맷은 최소한 부호의 지정 불가 문자열 중 공백 불가 에 의한 소수점 이하...
더 읽기
C++17 - shared_ptr 배열에 대응
C++17에서는 아래처럼 사용할 수 있다.
std::shared_ptr<double[1024]> p1 {new double[1024]};
std::shared_ptr<double[]> p2 {new double[n]};
double* p = p1[0];
더 읽기
C++ - 자세히 알아보는 include
3,4년 전쯤에 번역했던 것을 공유한다
더 읽기
C++ - 특수한 반복자
golang - Windows, GUI 라이브러리 link 모음
C++ - std::exchange
C++14부터 사용 가능. 아래의 파일을 포함해야 한다 #include <utility> 함수 원형 template< class T, class U = T > T exchange( T& obj, U&& new_value ); 예제 코드 flags_type flags(flags_type newf) { return std::exchange(flags_, newf); } s.flags(12) void f() {...
더 읽기
C++ - 다차원 배열 초기화 방법. std::fill()의 편리한 사용법
std::fill // n 차원 배열의 초기화. 제 2인수의 형의 사이즈마다 초기화 해 둔다 template<typename A, size_t N, typename T> void Fill(A (&array)[N], const T &val){ std::fill( (T*)array, (T*)(array+N), val ); } 예제 코드 int main(){ int a[10]; Fill( a, 12...
더 읽기
네트워크 상태 시뮬레이션 툴
comcast Simulating shitty network connections so you can build better systems. https://github.com/tylertreat/comcast 네트워크 상태 시뮬레이션 툴이다. 패킷 드럅율이나 레이턴시를 임의로 조정할 수 있어서 네트워크 상태가 좋지 않은 경우에 애플리케이션이 문제 없이 잘 동작하는지 테스트 할 때 사용하면 좋다. Golang으로 만들었고,...
더 읽기