본문 바로가기

::public265

(C++11) std::move 객체 a 를 b,c 로 복사할 때, a 가 필요없는 경우가 보장되면 복사과정에 대한 비용을 줄일 수 있다. string a = "std::move"; cout 2023. 1. 31.
(C++11) alignas alignas(n) 지정한 수의 배수만큼 구조체가 할당된다.(1 or 2 의 배수로 설정해야함) struct alignas(32) Alignas { int i4;// 4 byte char c[3];// 3 byte short s2;// 2 byte }; Alignas al; cout 2023. 1. 18.
byte padding(바이트 패딩) 바이트 패딩 성능향상을 위해서 클래스나 구조체의 경우, 가장 큰 사이즈를 차지하는 자료타입에 맞춰 현재 데이터타입 뒤에 임의의 바이트를 추가하여 CPU가 메모리 공간에 접근하기 용이하게 해준다.(컴파일러의 최적화 기능) class BytePadding { int i4;// 4 byte char c[3];// 3 byte short s2;// 2 byte }; BytePadding bt; cout 2023. 1. 18.
printf 출력 형식 %d : int 값을 부호있는 10진수로 출력. %i : int 값을 부호있는 10진수로 출력. %u : int 값을 부호없는 10진수로 출력. %X : int 값을 부호없는 16진수로 출력. '0' ~ '9' / 'A' ~ 'F' %x : int 값을 부호없는 16진수로 출력. '0' ~ '9' / 'a' ~ 'f' %o : int 값을 부호없는 8진수로 출력. '0' ~ '9' / 'A' ~ 'F' %p : 포인터 값을 16진수로 출력. %s : 문자열 출력. %c : int 값을 문자로 출력. %C : int 값을 문자로 출력. %f : double 값을 소수로 출력. (12.345678) %e : double 값을 지수로 출력. (12.34567e+001) %E : double 값을 지수로 출력... 2023. 1. 6.
(C++11) chrono OS 독립적으로 정밀한 시간 측정 가능. 나노초 단위까지 측정 가능. 특정 연상 전후로 time_point를 측정하고, time_point 차이를 이용하여 실제 연산 시간을 계산한다. *프로그램 동작 시간을 제대로 측정하려면 VisualStudio 에서 Release 모드로 빌드해야 한다. 에 정의되어 있음. auto start = chrono::system_clock::now(); // code auto end = chrono::system_clock::now(); auto msec = chrono::duration(end - start).count() * 1000; cout 2023. 1. 4.
Class extention struct Grade { var letter: Character var points: Double var credits: Double } class Person { var firstName: String var lastName: String init(firstName: String, lastName: String) { self.firstName = firstName self.lastName = lastName } func printMyName() { print("My name is \(firstName) \(lastName)") } } class Student: Person { var grades: [Grade] = [] } let jay = Person(firstName: "Jay", lastName.. 2022. 11. 23.