프로그래밍33 go 마스터하기 3/e책 - 잡다하게 알게된것 Go는 문장의 끝을 세미콜론으로 표현한다. 코드에 필요하다고 판단하는 지점에 세미콜론을 자동으로 추가한다. 그렇기때문에 {괄호로 시작하는 문장 이전줄에는 ;을 자동으로 붙이게 된다. func main(); 2023. 4. 23. c++배워보기(4) 클래스 클래스 기본 구조체는 어떤한 것의 정보(type)들을 모아놓은게 구조체이고 클래스는 정보(type)들 뿐만아니라 기능(func)까지 모아놓은 형태이다. 클래스는 섞어서 모을 수 있고, 구조체는 정보만 or 함수만 모을 수 있다. go는 클래스가 없고 특성 타입에 대한 method(전용 함수)만 있다. 선언: class 클래스명 { 접근지정자: 변수 선언; 함수 선언; } 멤버는 데이터 멤버, 멤버 함수로 구성되어 있다. 멤버 함수는 밖에서 선언되어 있음 선언 리턴값_형 클래스명::멤버_함수명(인수 리스트){} ::는 범위 결정 연산자로, 클래스가 범위다라는걸 나타낸다. 멤버는 . 연산자로 접근한다. 이러한 클래스를 통해서 객체를 생성하고 소멸시키는데, 아래와같이 메모리를 동적으로 할당했다 삭제할 .. 2023. 3. 19. c++배워보기(3) 잡다한것 지역변수와 전역변수가 이름이 겹치면? 지역변수가 scope안에서 선언되어있기 때문에 지역변수가 기본적으로 호출된다. :: 표시를 통해서 전역변수를 사용할 수 도 있다 a++; (지역변수) ::a++; (전역변수) 변수의 수명 메모리 공간을 확보하고, 변수를 저장하고, 추후 메모리를 해제하는 과정이 변수의 수명과정이다. 변수의 선언위치에 영향을 받는다 함수가 시작될때 메모리(스택)가 준비되고, 함수가 종료될때 메모리(스택)가 해제된다. static을 통해서 지역변수를 선언하면, 전역변수와 동일한 수명을 가지게 된다. 프로그램이 끝날때까지 없어지지 않는다. 정적으로 메모리를 할당해준다는 의미를 가진다. 정적으로 메모리를 할당해주면 자동으로 0으로 값이 초기화된다. 자동으로 할당되는 지역변수는 초기값.. 2023. 3. 18. c++배워보기(2) 포인터 주소를 저장하는 변수= 포인터 포인터는 *를 통해서 선언 c++ 은 int* go는 *int 여기서 포인터는 주소를 저장하는데 형이 중요한 이유는, 형에 의해서 이 주소부터 어디까지 메모리를 할당할 것인지 의미를 가지고 있기때문이 아닐까 *(indirection operator)를 통해서 간접참조연산자/ 간접참조가 가능하다. 그 포인터를 통해서 원래 변수의 값을 역추적 가능해진다. go와 c++둘다 *를 포인터 변수앞에 붙임으로 변수값을 간접참조가 가능해진다 c++은 포인터 주소의 정수연산이 가능하지만, go는 불가능하다 int* pa, pb; == int* pa, int pb int *pa, *pb; == int* pa, int* pb c++에서는 포인터를 선언시 반드시 초기화하여서 값을 넣어줘.. 2023. 3. 13. 이전 1 2 3 4 ··· 9 다음