C++/Basic

    함수 오버로딩

    함수오버로딩 매개변수의 내용이 다르고 이름이 같은 함수들을 만들 수 있게 해주는 기능 //가능 void hi(int x, int y) { ... } void hi(double x, double y) { ... } 1. 매개변수의 내용이 다른 같은 이름의 여러 함수를 만든다. //가능하지 않음 void hi(int x, int y) { ... } void hi(double x, double y) { ... }//void double hi(double x, double y) { ... }//double 2. 매개변수의 내용이 같고 반환타입이 다른 여러함수는 안 된다. //모호함 void hi(float x) { ... } void hi(unsigned int x) { ... } hi(2.142332);//모..

    vector와 list의 차이점

    vector 연속적인 메모리. 미래에 들어갈 요소를 위해 선할당을 한다 각 요소는 요소 타입 그자체만큼의 공간을 요구한다 (포인터들을 포함하지 않는다). 당신이 요소를 추가하는 어느 때나, 전체 vector의 메모리를 재할당 할 수 있다. 끝에 요소를 추가하는 것은 상수(상환 시간)지만, 다른곳에서 추가하는 것은 O(n) 값이 든다. 끝에 요소를 제거하는 것은 상수 시간이지만, 다른곳에서 제거하는 것은 O(n)이다. 랜덤하게 vector 요소에 접근 할 수 있다. vector에 혹은 vector로 부터 요소를 추가하거나 제거하면, iterator는 무효화된다. 당신이 요소의 배열을 필요로 한다면, 근본적인 배열에서 쉽게 얻을 수 있다. 장점 1. 개별 원소들 접근 가능 2. 원소를 마지막에 삽입 하는 것..

    [C++] new와 malloc의 차이

    malloc int* p; p = (int*)malloc(sizeof(int) * 2); p[0] = int(0); p[1] = int(1); cout

    [C++] 가변인자 템플릿

    template void show(T value) { cout

    [C++] 람다

    std::sort(x, x + n, [](float a, float b) { return (std::abs(a) < std::abs(b)); } ); - 함수포인터와 같이 사용할 수 있다. vector numbers(1000); generate(numbers.begin(), numbers.end(), rand); auto tests = [](float a, float b) { return (std::abs(a) < std::abs(b)); }; sort(numbers.begin(), numbers.end(), tests); sort(numbers.begin(), numbers.end(), tests); bool result = tests(2.4, 21.2); - 이름이 있는 람다를 만들어서 사용할 수 있..

    [C++] fstream으로 입력 출력

    #include #include using namespace std; int main() { char co[21] = ""; ofstream fout;//파일로 내보내기 ifstream fin;//파일을 가져오기 cin >> co; fout.open("../test.txt");//../는 현재 폴더의 전 폴더 fout

반응형