분류 전체보기 256

C++ 식별자(Identifiers) 총정리

1. 식별자(Identifiers)의 개념 C++ 프로그래밍 언어에서 식별자는 변수, 함수, 클래스, 구조 또는 프로그램 내의 다른 엔티티에 할당된 고유한 이름을 말한다. 예시로, int num = 11; 에서 num이 식별자인 것이다. int는 식별자가 아닌, 데이터 타입이다. 2. C++에서 식별자에 대한 규칙 다음 규칙들을 충족한다면, 우리가 만드는 그 어떠한 것도 식별자가 될 수 있다. ① 식별자는 문자(A-Z 또는 a-z), 숫자(0-9) 및 밑줄(_)로 구성될 수 있다. 특수 문자와 공백은 사용할 수 없다. ② 식별자는 문자 또는 밑줄로만 시작할 수 있다. ③ C++에는 해당 언어에 미리 정의된 의미가 있으므로 식별자로 사용할 수 없는 키워드가 존재한다. 예를 들어, 위에서 쓰인 int는 이미..

C++ 2024.02.15

C++ 기본 구문(Syntax) 총정리

1. 구문(Syntax)의 개념 구문은 프로그래밍 언어로 문장을 작성하는 규칙, 약속을 말한다. 또한, 프로그래밍 언어의 구조를 정의하는 문법 규칙으로 볼 수도 있다. C++ 언어는 그것이 제공하는 기능에 대한 구문을 가지고 있다. 다른 언어는 그 사용법을 명시하는 제각기 다른 구문을 가지고 있는 경우가 있지만, C++ 프로그램은 모든 프로그램에서 따르는 기본 구문 규칙을 가지고 있다. 그렇기에 그 기본 구문에 대한 이해를 마친다면 C++에 대한 이해도가 높아질 것이다. 2. C++의 기본 구문 위의 이미지는 헤더 파일, 메인 함수, 네임스페이스 선언 등이 포함된 기본적인 C++ 프로그램을 보여준다. 이제 이것에 대해 하나씩 파보는 시간을 가져 본다. ① 헤더 파일 헤더 파일에는 우리가 프로그램에서 사용..

C++ 2024.02.15

클라우드 빌링의 기초 정리

1. 클라우드 빌링의 개념 현시대에서 클라우드에 대한 의존도는 더욱 커지고 있다. 클라우드 컴퓨팅은 기업이 인터넷을 통해 통계를 저장하고, 프로그램을 실행하고, 작업 부하를 조작할 수 있는 등 다양한 서비스를 제공한다. 그렇기에 기업에서는 클라우드의 사용량과 그에 따른 관련 비용을 주의 깊게 관찰하는 것이 필요하다. 여기서 등장하는 것이 클라우드 빌링이다. 클라우드 빌링은 구글 클라우드 지출에 관해 추적과 파악을 하여 비용을 청구하고, 그것을 최적화할 수 있는 도구의 모음이다. 따라서 이 도구를 통해 우리는 사용 비용을 모니터링하여 지출을 예상할 수 있고, 이를 토대로 비용을 절감할 수 있는 기회를 얻을 수 있을 것이다. 2. 클라우드 빌링의 사용 이점 ① 비용 투명성: 클라우드 빌링은 사용률에 대한 지..

보안/클라우드 2024.02.14

C++ 나쁜(?) 습관, 네임 스페이스 STD

네임스페이스 std를 사용하는 것은 일반적으로 잘못된 관행으로 간주된다. 그렇기에 이것에 대한 대안은 유형을 선언할 때마다 스코프 연산자(:)를 사용하여 식별자가 속한 네임스페이스를 지정하는 것이다. 이렇게 되면 std::를 입력하지 않아도 되지만, std 네임스페이스에 정의된 클래스나 유형에 액세스할 때마다 std 네임스페이스 전체를 프로그램의 현재 네임스페이스로 가져온다. 그런데 결국 그래서 그것들이 왜 좋고 나쁘다는 것일까? 그것에 대해 학습해 보는 시간을 갖자. 예시: #include using namespace std; cout

C++ 2024.02.13

C++ 전처리기(#) 총정리

1. 전처리기의 개념 전처리기는 컴파일 전에 소스 코드를 처리하는 프로그램이다. C++에서 프로그램을 작성하는 것과 프로그램을 실행하는 것 사이에는 여러 단계가 관련되어 있다. 그렇기에 전처리기에 대한 이해를 하기 이전에, 그 단계에 대해 이해하는 것이 우선이라고 할 수 있겠다. 위의 다이어그램에서 중간 단계를 볼 수 있다. 프로그래머가 작성한 소스 코드는 먼저 파일에 저장되며, 이름을 "program.c"로 한다. 그런 다음, 이 파일은 전처리기에 의해 처리되고 확장된 소스 코드 파일은 "program.i"로 생성된다. 이 확장된 파일은 컴파일러에 의해 컴파일되고 개체 코드 파일은 "program.obj"로 생성된다. 마지막으로 링커는 이 개체 코드 파일을 라이브러리 함수의 개체 코드에 연결하여 실행 ..

C++ 2024.02.12

구글 클라우드가 선정한 2024 사이버위협 빅4 국가

늘 그러하듯, 새로운 해에는 새로운 기술을 기반으로 한 새로운 공격이 있기 마련이다. 이에 따라 구글 클라우드에서는 2024 보안 위협에 대한 전망은 물론, 사이버위협 국가 빅4에 대한 보고서를 발표했다. 아래 출처에서 볼 수 있는데, 그냥 아무렇게나 기입해도 다운로드 받을 수 있으니 입력해야 하는 폼을 보고 뒤로가기를 누르지 않아도 좋다. 오늘은 빅4 국가에 대한 내용만 기술하도록 한다. 1. 중국 중국으로부터의 위협은 대만과 관련된 문제, 중국의 지역 패권과 영향력, 주요 시장에 대한 경제적 영향력을 포함한 내부 안정과 영토 통합과 같은 장기적인 우선순위에 의해 계속 추진될 것이라고 한다. 중국의 제국주의적 태도는 2024년에도 당연히 지속될 것이다. 그렇기에 중국 사이버 공격자들은 계속해서 탐지를 ..

C++ 주석 총정리

1. 주석의 개념C와 C++의 주석은 C++ 프로그램의 소스 코드에 있는 사람이 읽을 수 있는 설명이나 메모의 개념이다. 주석은 프로그램을 더 쉽게 읽고 이해할 수 있게 해준다. 물론, 이 주석이라는 것들은 컴파일러나 인터프리터에 의해 실행되지 않는다. 2. 주석의 사용 이유① 프로그램에 대한 세부 사항에 대한 내용이 제공되지 않으면, 큰 코드를 읽는 사람이 잘못 이해할 수도 있다.② 주석은 더 많은 설명을 제공하여 코드를 더 쉽게 읽을 수 있다.③ 주석에는 코드를 이해할 수 있도록 알고리즘에 대한 설명이 포함될 수 있다. ④ 코드의 일부 부분의 실행을 방지하기 위해 주석을 사용할 수 있다. 3. 주석의 종류C와 C++에는 2가지의 주석이 종류한다. 싱글 라인과 멀티 라인이 그것이다.// single l..

C++ 2024.02.11

C++ 프로그램 작성의 시작, Hello World 학습

C++는 널리 사용되는 객체 지향 프로그래밍 언어이고, 비교적 이해하기 쉽다. "Hello World" 프로그램은 모든 프로그래밍 언어를 배우기 위한 첫 번째 단계이고, 우리가 배울 만한 가장 간단한 프로그램 중 하나이기도 하다. C++의 Hello World Program은 코딩 과정이 어떻게 작동하는지 보여주는 기본 프로그램이다. "Hello World"라는 메시지를 콘솔 화면에 표시하기만 하면 된다. C++ 프로그램을 작성하고 실행하려면 컴퓨터에 로컬 환경을 설정해야 한다. 전체 문서 C++ 개발 환경 설정을 참조하자. 컴퓨터에 로컬 환경을 설정하지 않으려면 온라인 IDE를 사용하여 C++ 프로그램을 작성하고 실행할 수도 있다. C++ Hello World Program 아래는 Hello World..

C++ 2024.02.10

C와 C++의 공통점과 차이점 총정리

1. C와 C++의 공통점 ① 두 언어는 유사한 구문(Syntax)을 가지고 있다. ② 두 언어의 코드 구조가 같다. ③ 두 언어의 컴파일이 비슷하다. ④ 두 언어는 동일한 기본 구문을 공유한다. 거의 모든 C의 연산자와 키워드도 C++에 존재하며 동일한 작업을 수행한다. ⑤ C++는 C보다 문법이 조금 확장되어 있지만 기본 문법은 동일하다. ⑥ 둘 다 기본 메모리 모델은 하드웨어에 매우 가깝다. ⑦ 스택, 힙, 파일 범위 및 정적 변수에 대한 동일한 개념이 두 언어 모두에 존재한다. 2. c와 c++의 차이점 C++는 종종 C의 수퍼셋으로 여겨진다. C++는 또한 "클래스를 가진 C"로도 알려져 있기도 하다. 이것은 C++가 처음 만들어졌을 때 거의 사실에 가깝긴 했다. 그러나 시간이 지나면서 C는 현..

C++ 2024.02.10

C++ 개발 환경 설정

C++는 범용 프로그래밍 언어이며, 현재 프로그래밍을 위해 널리 사용되고 있다. C++는 명령적이고 객체 지향적이며, 일반적인 프로그래밍 기능을 가지고 있다.C++는 윈도우, 리눅스, 유닉스, 맥 등 많은 플랫폼에서 실행된다. C++ 프로그램을 성공적으로 컴파일하고 실행하려면 로컬 컴퓨터에 환경을 설정해야 한다. 물론, 로컬 환경을 설정하고 싶지 않을 수도 있을 텐데, 그렇다면 온라인 IDE를 사용하여 프로그램을 컴파일할 수도 있을 것이다. 1. 온라인 IDE 사용IDE는 통합 개발 환경을 의미한다. IDE는 소프트웨어를 개발하기 위한 시설을 컴퓨터 프로그래머에게 제공하는 소프트웨어 응용 프로그램이다. 로컬 개발 환경을 설정하지 않고 프로그램을 쉽게 컴파일하고 실행하는 데 사용할 수 있는 많은 온라인 I..

C++ 2024.02.09
728x90