본문 바로가기

Study/C++7

[C++] final 키워드 2 이것 저것 알아보면서 코드를 보면 final이라는 키워드가 있는데 이게 뭐지 싶었다. 알아보니 final은 c/c++에서는 쓰이지 않고, java에서 쓰이는 것이라고 한다. java에서 변수 앞에 쓰이는 final은 c++에서의 const와 같은 상수를 뜻한다! //요약 final은 java에서 쓰임 변수 앞에 쓰인 fianl은 c++의 const와 같은 의미로 사용 2023. 10. 24.
[C++] strchr함수 - 문자 검색 1. 라이브러리 : 2. 함수 원형 // 검색할 문자열, 존재하는지 확인할 문자(아스키 값) const char* strchr(const char* str, int c); char strchr(char* str, int c); 3. 함수 설명 - 문자열 내에서 해당 문자가 있는지 검색해주는 함수 - 첫번째 문자열 내에 두번째 문자가 존재하는지 검사 - 존재하면 존재하는 곳의 포인터 반환, 존재하지 않으면 널 포인터 반환 4. 예시 1) 특정 문자 찾기 // string 이용 -> 주소값 사용 string str = "aAbBcCdD"; char* ptr = strchr(&str[0], 'C'); // 알파벳 C를 찾음 if(ptr != nullptr) { cout 2023. 10. 20.
[C++] npos 1. string::npos란? - string의 find() 함수 수행 시에 찾는 문자열이 없을 때 반환된다. - '-1' 의 값을 가지는 상수이다. 2. 예시 string s = "abcde"; if(s.find('a') == string::npos) // a는 s에 들어있으므로 false 반환 { cout 2023. 10. 19.
[C++] final 키워드 1. final - 상속을 방지하는 키워드 - 더 이상 가상함수를 오버라이딩하지 않겠다는 의미 - 가상함수의 마지막을 가르키는 키워드 - 클래스와 멤버함수 둘 다 사용 가능 - override와 같은 자리에 쓰임 2. 예시 #include using namespacee std; class A { public: virtual void print() { cout 2023. 10. 18.
[C++] char형에서 int형으로 형 변환 오늘 오랜만에 프로그래머스 문제를 풀다가 char형을 int형으로 형 변환시키는 것에서 순간 막혔다. string형은 int형으로 바꾸려면 stoi를 사용하면 되는데 char형은 뭘로 바꿔야 하지? 하다가 stoi랑 같이 나오는 atoi가 const char * 를 인수로 받길래 이거구나 싶어서 해봤는데 잘 되지 않았다. 그래서 검색해서 찾아보았고, 알고보니 쉬웠다. char형은 아스키코드이기 때문에 현재 char에서 '0'의 아스키코드 값을 빼주어 구할 수 있었다. char c = '5'; int i = c - '0'; cout 2023. 10. 17.
[C++] 문자열 리터럴 #include using namespace std; int main() { char str[] = "hello"; // 1번 const char *pstr = "eee"; // 2번 // char *pstr = "eee"; -> 안됨 str[3] = 'k'; // pstr[3] = 'k'; -> 안됨 cout 2023. 7. 19.
[C++] 메모리 구조 1. Text 영역(Code 영역) - 작성한 코드들이 컴파일 이후 기계어로 번역되어 저장되어 있는 공간 - 프로그램이 끝날때까지 메모리에 남아있음 - 읽기 전용 공간 2. Rodata 영역 - Read Only data, 즉 읽기 전용 data들이 저장되는 공간 - const 변수, 문자열 상수, printf의 중괄호 부분이 주로 들어감 3. Data 영역 - 전역 변수, 전역 배열, 전역 구조체 등을 저장하는 공간 - 정적 변수(static)도 저장 - 초기화 한 이후의 전역변수를 저장 4. Bss 영역 - Data와 매우 비슷 - 전역 변수(배열, 구조체 포함), 정적 변수 저장 - 초기화 이전의 전역변수를 저장(차이점) cf) 전역변수들은 main이 실행되기 전에 bss에 저장되며, bss 영역에.. 2023. 7. 19.