컴퓨터 수업/C++(39)
-
포인터
@수업자료 @메모리의 어떤 형틀이라 생각해보자, 내 생각의 준거가 되어 줄 그림 @포인터와 어레이의 준거가 되어 줄 그림 @2차원 동적배열 이해, operator의 argument와 수행 결과가 중요하다. 예를들어, new operator는 n+1 depth = new n depth로 수행해야 된다는 것, delete는 delete n depth 가 n-1 depth들을 지울것이라는 것. (결국 어차피 포인터니까 포인터를 지우는게 n을 지우는거나 n-1을 지우는거나 어차피 링킹) 또한, [] operator는 upper depth operator로 쓰인다는 것 등이 중요했다.
2020.09.28 -
ignore
@istream의 멤버함수 ignore istream& ignore (streamsize n = 1, int delim = EOF); @ignore의 파라미터 n까지는 무시 안하고, delim과 같은 문자열 이하는 모두 무시한다. @여러 stream flags #사용법 cin.setf(ios::showbase); @문제가 되는 예시 1 char ch1; 2 char ch2; 3 //ch1, ch2 : enter “ z”. ( space + z ) 4 cin >> ch1; 5 cout
2020.09.24 -
string 라이브러리
std::string word = "fred"; //using namespace std; 사용시 string wordd = "fred"; 선언과 동시에 초기화, class -> string, instance -> word, initiated data -> "fred" word.length(); 객체(instance)의 길이를 반환하는 메소드. word[0]; 객체에 operator []를 사용하여, 각 index의 character를 반환할 수 있다. std::cout
2020.09.23 -
디버깅
@디버깅이란 런타임 에러를 잡아내는 가장 좋은 방법이다. 컴파일 에러는 뭐 syntax 에러이니 명확하다고 쳐도, 런타임 에러는 개발자가 하나하나 변수를 모니터링하는 방법밖에 없다. @대충은 알고있는데 정확히 알아보자 @중단점을 설정하면 해당 중단점의 시작에서 멈춘다. 따라서 다음과 같은 그림으로 실행되었다고 생각하면 된다. 중단점을 기준으로 그 위까지만 실행된 것. 따라서 for문에 아직 입장하지 못했다. @ 한 단계씩 실행과 프로시저 단위 실행은 내부 함수를 어떻게 처리하냐에 따라 다르다. 한 단계씩 실행은 해당 statement에 함수가 있다면, 그 함수로 가서, 한 단계씩 실행하고 함수를 나온다. 하지만 프로시저 단위 실행은 함수를 무시하고 그저 한 줄 씩 읽는다 @지금은 일단 변수 감시용도로 사용
2020.09.18 -
빌드,컴파일
@어떻게 실행파일. exe를 만드는가? @1은 editor를 의미한다. 뭐 메모장이 될 수도 있겠고, IDE가 될 수도 있겠당(Visual Studio,eclipse 등..) 여기까지 행하면 .cpp 파일을 생성한다. @2는 preprocessor를 의미한다. #include #include "UnsortedType.h" #defien MAX_ITEMS 100 위 3줄이 모두 전처리기를 의미한다. @3은 컴파일 타임을 의미한다. 즉 우리가 1에서 만든 소스코드를 바이너리 코드로 바꿔주는 일을 뜻한다 (컴퓨터가 알아먹는 단어로 만들기). 여기까지 행하면 .obj 파일을 생성할 수 있다. @4는 여러외부 프로그램들을 엮는 행위라고 하는데 우리는 밑의 그림으로 이해하자. @이건 솔루션-프로젝트를 그저 생성만 ..
2020.09.18 -
main함수의 아규먼트// argc & argv
@예제 코드를 보면서 배워보자 #include using namespace std; int main(int argc, char* argv[]) { cout
2020.09.18