본문 바로가기

c++24

cpp transform cpp에서 transform이라는 함수가 존재한다. 사용법 문자열 s에 대문자 소문자가 섞여있다고 가정. transform(s.begin(). s.end(), s.begin(). ::toupper); transform는 transform(A, B, C, D)으로 보면 좋다 A부터 B전까지 값들을 D로 변환하고 그 값들을 C부터 저장한다 예시 프로그래머스 매칭점수에서 사용이 되어서 공부를 했다. String transToUpper(string s) { transform(s.begin(), s.end(), s.begin(), ::toupper); return s; } 2021. 12. 15.
static 키워드 (cpp, java) static 키워드 범위의 제한을 받는 전역 변수 (접근할 수 있는 영역을 제한한 전역변수 ) 파일속, 클래스속, 함수속 함수 속 정적 변수 함수로 범위가 제한된 변수 void Accumulate(int number) { static int result = 0; // 2번 , 1번 후 2번에서 초기화를 했으니 5번후에는 초기화를 하지 않는다 result += number; // 3번 6번 cout 2021. 10. 23.
연산자 오보로딩 연산자 오버로딩 이름은 같지만 매개변수가 다르다 #include using namespace std; class Vector { public: Vector operator+(const Vector& rhs) const; // Vector(반환값), 좌항 operator+를 한다 우항은 (const Vector&rhs)const; Vector operator+(const Vector &rhs)const; // 뒤에 const는 a + b 할때 a가 변경되지 않도록하는 것 Vector(int x, int y) { this->mx = x; this->my = y; } Vector() {}; private: int mx; int my; }; Vector Vector::operator+(const Vector &.. 2021. 10. 23.
cpp Reference(&) int func(int k) -> call by value int func(int *k) -> call by pointer int func(int &k) -> call by reference cpp에서 사용하는 &는 call by value 와 call by pointer를 합쳤다고 생각하면됩니다. 왜냐? -> 내부적으로는 call by pointer이지만 접근할때 .으로 접근하여서 value 식으로 접근 할 수 있기때문입니다. 함수를 호출 하는 부분에서 1...func(person) (cf : person은 구조체 형으로 선언되었습니다.) 받는쪽에서 2...void func(Person &p)로 받으면 call by reference가 된다. 1번부분에서 묵시적 형변환이 실행되어서 기본 변수로 넣어줘도.. 2021. 8. 12.