VSCode에서 C/C++ 코드를 실행하기 위해서는 별도의 설정 과정이 필요하다. 하다가 던져버릴 뻔 했지만 아무튼 성공했으므로 이 좌충우돌 과정을 공유해보려고 한다. 진행 순서는 다음과 같다. 1. C/C++ 컴파일러 설치 2. VSCode에서 C/C++ Extenstion 설치 3. JSON 파일 설정 c_cpp_properties.json 파일 tasks.json 파일 4. 단축키 설정 5. 컴파일 및 실행 6. 디버깅 설정 1. C/C++ 컴파일러 설치 VSCode에서 C/C++ 소스코드를 컴파일하기 위한 컴파일러를 별도로 설치해야 한다. 보통 C에는 gcc, C++에는 g++ 컴파일러가 사용된다. mingw, msys2, cygwin 프로그램을 통해 컴파일러를 설치할 수 있는데 찾아보니 프로그램..
해당 글은 '윤성우의 열혈 C++ 프로그래밍'을 참고하여 작성함. (이하 해당 도서라고 지칭) C++에서는 C에서의 형변환 연산자보다 좀더 제한적인 형태의 형변환이 가능하다. C에서의 (변환 타입)의 형변환 연산자는 정말 말도 안되는 형변환도 오류 없이 실행이 된다. 제한이 없어 유용할 것 같지만 이는 예상치 못한 프로그램 실행 결과가 발생하는 원인이 되기도 한다. C++의 형변환에 대해 설명하기 앞서 왜 C의 형변환 연산자를 제한적으로 사용해야 하는지 먼저 짚고 넘어가고자 한다. #include using namespace std; class Basic { private: int num; public: Basic(int num) :num(num) {} void showInfo() { cout
해당 글은 '윤성우의 열혈 C++ 프로그래밍'을 참고하여 작성함. C++에서 상속 파트를 공부하다 보면 기존에 자바에 익숙한 사람이라면 뭐지...? 싶은 부분이 있다. 자식 클래스 객체를 부모 클래스 객체에 할당하고 해당 객체의 메소드를 호출하는 경우, 자바라면 자식 클래스에 정의한 메소드가 호출된다. 반면 C++은 부모 클래스(기초 클래스)에 정의한 멤버 함수가 호출된다. 일단 해당 상황을 코드로 정리해보자. class Parent { void print() { System.out.println("Parent"); } } class Child extends Parent { @Override void print() { System.out.println("Child"); } void print2() { S..
해당 글은 '윤성우의 열혈 C++ 프로그래밍'을 참고하여 작성함. (이하 해당 도서라고 지칭) 해당 도서의 상속파트에서 저자가 강조한 부분들 중 내가 느끼기에 중요한 규칙 3가지를 정리해보려고 한다. 이 3가지는 다음과 같다. 1. 접근제한의 기준은 객체가 아닌 클래스다. 2. 클래스의 멤버는 해당 클래스의 생성자에서 초기화한다. 3. 생성자에서 동적할당한 메모리 공간은 소멸자에서 해제한다. 본격적인 내용에 앞서 용어 정리를 해보려고 한다. 보통 클래스간 상속관계에서 하위 클래스에게 상속하는 클래스를 부모 클래스, 상위 클래스에게 상속 받는 클래스를 자식 클래스라고 한다. C++에서는 보통 부모 클래스를 기초 클래스, 자식 클래스를 유도 클래스라고 한다고 하니 앞으로 해당 용어를 사용할 것이다. 접근제한..
- Total
- Today
- Yesterday
- rest api
- github
- 디자인 패턴
- Linux
- 전략 패턴
- junit5
- Transaction
- Java
- C++
- mockito
- vscode
- 서블릿 컨테이너
- facade 패턴
- spring aop
- 템플릿 콜백 패턴
- Git
- spring boot
- ParameterizedTest
- QueryDSL
- Gitflow
- SSE
- Front Controller
- Assertions
- Spring Security
- spring
- FrontController
- JPA
- 모두의 리눅스
- servlet filter
- 단위 테스트
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |