Visual Studio 문자 집합 사용(유니코드, 멀티바이트) 다른게 없고 그냥 전처리기에서 유니코드 관련 매크로(ex. TEXT, TCHAR 등)을 사용했을때 멀티바이트 문자열(char로 선언된 문자열)을 유니코드 문자열(wchar로 선언된 문자열)로 변환해줄건지, 그대로 리턴할건지에 정해줄 뿐이다. 문자 집합을 유니코드 문자 집합 사용을 쓰던, 멀티바이트 문자 집합을 사용을 쓰던, char는 멀티바이트를 담는 타입, wchar는 유니코드를 담는 타입이라는 사실은 변함 없다. 공부/그 외 2021.12.08
C++ 템플릿 클래스/함수 헤더파일에 선언과 정의 모두 해줘야 하는 이유 Visual studio에서 클래스를 템플릿 클래스로 구현하기 위해서는 추가 > 클래스로 들어가서 아래 그림처럼 인라인이 되게, cpp파일 없이 헤더파일의 클래스 선언부분에 정의까지 해주는게 좋다. 템플릿 클래스(혹은 함수)를 헤더파일과 cpp파일로 다른 일반 클래스(함수)과 똑같은 방법으로 나눠서 선언, 구현을 따로 작성하면 오류가 뜬다. // Template.h #pragma once template class CTemplate { public: CTemplate(); ~CTemplate(); void Output(T t); }; // Template.cpp #include "Template.h" template CTemplate::CTemplate() { } template CTemplate::~C.. 공부/C || C++ 2021.07.23
Visual Studio "const char *" 형식의 값을 사용하여 "char *" 형식의 엔터티를 초기화할 수 없습니다. char* pText = "String"; 다음과 같은 코드를 써서 컴파일하니 이런 오류가 떴다. '초기화 중' : 'const char[7]에서 'char*'(으)로 변환할 수 없습니다. 이 에러가 뜨는 원인은 Visual Studio 2017부터 준수모드로 설정하면 const char* 에서 char*로의 암시적 형변환을 허용하지 않기 때문이다(준수모드는 2번째 방법에서 바꾸는 방법을 소개). 해결 방법은 2가지가 있다. 1번째는 char*를 const char*로 바꾸면 된다. const char* pText = "String"; 2번째 방법은 Visual studio 설정을 바꿀 수 있는 상황에서 사용할 수 있다. 프로젝트 우클릭 > 속성 > C/C++ > 언어 > 준수 모드를 아니요로 바꾸면 c.. 공부/그 외 2021.07.16
Visual Studio 2019에서 git 사용 방법 학부생때는 git에 코드 제출할때 매번 리눅스 쉘을 이용한 커맨드로 제출해서 그런지 visual studio에서 git을 사용하는 방법은 전혀 몰랐다. 사실 리눅스 쉘을 쓸 때도 대단한걸 할 수 있었던 것은 아니고 그냥 repository를 clone하고 코딩하고 다시 commit&push를 하거나 과제 템플릿에 변경이 있을 때 pull한게 전부였다. 근데 그마저도 visual studio로 하려니 전혀 할줄 몰라서 이번 기회에 공부해보려고 한다. 먼저 visual studio 2019에서 git을 사용하기 위해선 Github extension을 설치해야 한다. 설치 방법은 우선 상단의 검색창에서 확장 관리를 검색해서 누른 뒤 GitHub Extension for Visual Studio를 설치한다. 다.. 공부/Git 2021.07.16