섹션 1 - C++의 기초적인 사용법

2024. 7. 1. 21:57·C, C++, MFC/따배C++

1.8 연산자와의 첫 만남

*삼항 연산자(Ternary operator)

int y = (x > 0) ? 1 : 2; // y = 1

(조건) ? 조건이 참일 경우 return : 조건이 거짓일 경우 return;

 

1.12 헤더 가드가 필요한 이유

헤더 가드 (Header Guards)

헤더가 중복으로 선언되었을 경우를 대비하여 사용하는 것

#pragma once

// MY_ADD가 이미 include 되어 있으면, 다시 include 하지 말라는 뜻
#ifndef MY_ADD
#define MY_ADD

void doSomething()
{
	add(1, 2);
}

#endif

위 전처리기는 아래로 대체가 가능하다.

#pragma once

#include "add.h"

void doSomething()
{
	add(1, 2);
}

 

1.13 네임스페이스 (명칭 공간, Namespace)

#include <iostream>

namespace MySpace1
{
	int doSomething(int a, int b)
	{
		return a + b;
	}
}

int doSomething(int a, int b)
{
	return a * b;
}

using namespace std;

int main()
{
	cout << MySpace1::doSomething(3, 4) << endl;	// 7
	cout << doSomething(3, 4) << endl;	// 12

	return 0;
}
#include <iostream>

namespace MySpace1
{
	namespace InnerSpace
	{
		int my_function()
		{
			return 0;
		}
	}

	int doSomething(int a, int b)
	{
		return a + b;
	}
}

namespace MySpace2
{
	int doSomething(int a, int b)
	{
		return a - b;
	}
}

using namespace std;

int ex1()
{
	using namespace MySpace1;

	cout << doSomething(3, 4) << endl; // 7
	cout << InnerSpace::my_function() << endl; // 0

	return 0;
}

int ex2()
{
	using namespace MySpace1::InnerSpace;

	cout << my_function() << endl; // 0

	return 0;
}


int main()
{
	ex1();
	ex2();

	return 0;
}

 

1.14 전처리기와의 첫 만남

전처리기 (Preprocessor)

전처리기는 빌드 전에 결정된다.

주로 OS가 윈도우인지, 리눅스인지 확인할 때, 그래픽카드를 확인할 때 사용한다.

#include <iostream>

using namespace std;

#define MY_NUMBER 8
#define MY_WORD "Hello, World"
#define MAX(a, b) (((a) > (b)) ? (a) : (b))
#define LIKE_APPLE

int main()
{
	cout << MY_NUMBER << endl; // 8
	cout << MY_WORD << endl; // Hello, World
	cout << MAX(1, 3) << endl; // 3

#ifdef LIKE_APPLE
	cout << "Apple" << endl; // LIKE_APPLE이 정의되어 있을 경우
#endif

#ifndef LIKE_APPLE
	cout << "Orange" << endl; // LIKE_APPLE이 정의되어 있지 않을 경우
#endif

	return 0;
}

** #define은 선언된 cpp 파일 내에서만 사용 가능하다.

저작자표시 비영리 변경금지 (새창열림)

'C, C++, MFC > 따배C++' 카테고리의 다른 글

섹션 2 - 변수와 기본적인 자료  (2) 2025.03.12
섹션 0 - 시작해봅시다  (0) 2024.02.13
'C, C++, MFC/따배C++' 카테고리의 다른 글
  • 섹션 2 - 변수와 기본적인 자료
  • 섹션 0 - 시작해봅시다
김고파
김고파
채워나가는 중
  • 김고파
    개발자 김고파
    김고파
  • 전체
    오늘
    어제
    • all
      • C, C++, MFC
        • 따배C++
      • Qt
      • OpenCV
      • Data Structure
      • Dev Tools
      • JAVA
  • 링크

    • github
    • 네이버블로그
    • BOJ
  • 인기 글

  • hELLO· Designed By정상우.v4.10.3
김고파
섹션 1 - C++의 기초적인 사용법
상단으로

티스토리툴바