목록language/C | C++ (7)
:: ADVANCE ::
[C] auto, static, extern 키워드 의미 C에서 변수는 값이 저장되는 메모리 영영기나 변수의 유효범위에 따라 구분되는데, auto, static, extern 이 세가지 키워드를 이용하여 구분할 수 있다. 1. auto ( 자동 범위 변수 )일반적인 지역 변수 형태, 블럭 안에서만 유효하며 블럭의 실행이 끝나면 소멸스택에 메모리 할당일반적으로 C에서 auto 키워드는 생략되어 있다. 아무 표시도 하지 않은 변수는 자동으로 auto와 같은 의미C++에서 auto 키워드를 사용할 경우 -> 자동 타입 추론 이라는 완전히 다른 의미를 가진다. (주의) 2. static ( 정적 변수 )블럭 안에서만 유효한 값을 가지지만 자동 변수와 같이 없어지지 않고 블럭으로 다시 돌아왔을 때 이전 값을 다시..
[C++] Class 123456789101112131415class Car{private: int m_speed; int m_fuel; public: Car() { Speed(0); Fuel(0); } int Speed() { return m_speed; } void Speed(int speed) { m_speed = speed; } int Fuel() { return m_fuel; } void Fuel(int fuel) { m_fuel = fuel; }}; 12345678Car car;00401869 8D 4D F8 lea ecx,[car]0040186C E8 8F F7 FF FF call Car::Car (401000h)car.Speed(0x12345678);car.Fuel(0x11111111);0..
추가된 함수 기능 8. bool타입 자료형 C++에서는 bool이라는 참과 거짓을 나타내는 자료형을 가지며, C에서는 존재하지 않습니다(최근 표준에서는 C에서도 bool이 기본자료형에 추가되었습니다) C에서 경험했겠지만, 0은 거짓을 나타내며, 0이 아닌 모든 것은 참이지만, 대표적으로 1을 참으로 나타낸다. C에서는 이러한 0과 1이라는 것으로 참/거짓을 나타냈지만, C++에서는 bool타입의 자료형이 존재하기 때문에, true와 false라는 키워드가 1과 0을 대신하여 참/거짓을 나타낼 수 있다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include using namespace std; int main() { int num ..
추가된 함수 기능 2 4. namespace 사용자 정의 명칭 규칙 중 같은 범위의 명칭끼리는 당연히 중복되지 않아야 한다. 예를 들어 input이라는 이름으로 변수를 선언했다면, 같은 이름으로 다른 변수를 선언할 수 없을 뿐더러 함수나 타입의 이름으로도 사용할 수 없다. 짧은 프로그램에서 명칭을 작성하는 것은 어려운일이 아니지만, 프로그램이 복잡해 지고 규모가 커질수록 더 많은 명칭이 필요하기 때문에 고유의 이름을 붙이는 일이 점점 더 어려워진다. 만약, count라는 변수를 쓰고 싶은데, 다른 팀과 협업 중 다른 개발자가 이 명칭을 전역 변수로 쓰고 있거나 외부 라이브러리에서 다른 의미로 사용 중이라면, 이 이름을 쓸 수 없게 된다. 이처럼 프로젝트에서 명칭 충돌을 피하기 위해 언어 차원에서 근본적인..
추가된 함수 기능 1. 오버로딩 (Overloading) 이름은 같고 매개변수의 개수나 자료형을 다르게 지정하여 하나의 이름으로 여러가지 기능을 갖는 함수를 만들수 있다. 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 31 #include using namespace std; int add(int a, int b) { int sum; sum = a+b; return sum; } int add(int a, int b, int c) { int sum; sum = a+b+c; return sum; } double add(double a, double b) { double sum; sum = a+b; return ..
1. C와 C++은 다른 언어이다. C와 C++은 다른 언어입니다. 거의 비슷하다구요? 예! 정말 비슷합니다. 하지만 분명 C와 C++은 다른 언어입니다. 만약 C++이 C의 단순한 확장이었다면 모두가 C++을 써야하는게 맞는거겠죠. 대학교 다니시면서 프로그래밍 언어론을 배우신 분들은 아시겠지만 모든 언어는 각자의 장단점이 있고 그 장점이 퇴색하지 않는 이상 언어는 사장되지 않습니다. 만약 어디서든 "강력한" 언어가 있다면 모르겠지만 말이죠. 예를들면 똑같은 Microsoft에서도 VC++, VB, VJ++, VF 등의 많은 언어를 출시합니다. 물론 MS같은 경우에는 전략적인 목표로 인한 경우도 있지만 실제로 그런 언어들이 그 언어의 장점으로 인해 실제로 사용되고 있습니다. 2. 그럼 C와 C++이 어떻..