방송통신대학교 생활기/Cpp 2

비주얼 스튜디오 C4996 에러

방송통신대학교 C++ 프로그래밍 교재에 있는 예제를 따라하다보니 종종 에러가 발생하는 것을 발견했다. 에러코드는 C4996, strcpy 구문에서 에러가 발생하는 것이었다. 컴파일러는 비쥬얼스튜디오 2022 컴파일러로 에러문구에는 strcpy_s 를 쓰라고 되어 있었는데 조금 이상하다는 생각을 했다. 왜냐하면 strcpy 가 표준라이브러리에 정의 되어 있었기 때문이고, 분명 이거 이런 저런 오픈 소스 코드를 훑어보았을 때많이 보았던 함수였기 때문이다. 일단 코드는 다음과 같다. // StaticDM.cpp #include #include "NamedObj.h" using namespace std; void f() { NamedObj x("Third"); // 세 번째 객체의 생성 x.display(); ..

C++ 구조체, 클래스 차이 정리

원래 고등학교 다닐때 C 언어를 조금 했었다. 포인터 조금하고 AVR128로 하는 하드웨어 제어였으니까, PWM 제어 같은 것들을 배웠기 때문에 구조체에 대해서는 잘 모른다. 그동안 C++를 배워야지 생각은 했었는데 너무 내용이 방대해서 혼자하기 어렵다는 생각을 했었다. 특히 러스트가 흥미로워보여 러스트를 조금 해보았는데 C++에 있는 내용을 모르니 이해하기가 어려웠다. 다행히 이번에 1학년 2학기 신입생으로 입학하게 되면서 전공으로 C++를 배우게 되어 그 내용을 정리하고자 포스팅을 해본다. 해당 코드는 비주얼 스튜디오 2022 컴파일러로 실행하였습니다. //Circles_struct.cpp #include #include using namespace std; const double PI = 3.141..