반응형 [C++ 마스터] Day 2: 기본 문법과 Hello World 프로그램 기본 문법C++의 기본 문법을 이해하는 것은 중요한 첫걸음입니다. 이 장에서는 C++ 프로그램의 기본 구조와 주요 문법 요소를 다루겠습니다. 1. 주석 (Comments)주석은 코드에 대한 설명을 추가하는 데 사용됩니다. 컴파일러는 주석을 무시합니다.한 줄 주석: //여러 줄 주석: /* ... */예제:// 이것은 한 줄 주석입니다.int main() { /* 이것은 여러 줄 주석입니다. */ return 0;} 2. 헤더 파일 (Header Files)헤더 파일은 라이브러리 함수나 클래스를 사용할 수 있도록 포함하는 파일입니다. 은 입력과 출력을 위한 헤더 파일입니다.#include 3. 네임스페이스 (Namespaces)네임스페이스는 이름 충돌을 방지하기 위해 사용됩니다. s.. 2024. 8. 1. [C++ 고급 프로그래밍과 응용 프로젝트] Day 2: 고급 템플릿 프로그래밍 템플릿은 C++의 강력한 기능으로, 코드의 재사용성을 높이고 일반화된 프로그래밍을 가능하게 합니다. 오늘은 템플릿 프로그래밍의 고급 개념들을 다루겠습니다. 템플릿 특수화 (Template Specialization)템플릿 특수화는 특정 타입에 대해 템플릿을 특수화하여 다르게 동작하도록 하는 방법입니다. 템플릿 특수화는 주로 기본 템플릿이 특정 타입에 대해 적합하지 않을 때 사용됩니다. 기본 템플릿#include template class MyClass {public: void display() { std::cout 특수화 템플릿template class MyClass {public: void display() { std::cout obj1; obj1.displ.. 2024. 8. 1. [C++ 성능 최적화 및 고급 테크닉] Day 2: 컴파일러 최적화 옵션 이해하기 컴파일러 최적화란?컴파일러 최적화는 컴파일 과정에서 컴파일러가 코드의 성능을 개선하기 위해 다양한 최적화 기법을 적용하는 과정입니다. 컴파일러 최적화를 통해 실행 속도, 메모리 사용량, 전력 소비 등을 개선할 수 있습니다. 컴파일러 최적화 옵션다양한 컴파일러 최적화 옵션이 있으며, 주요 옵션을 이해하고 적절히 사용하는 것이 중요합니다. 1. GCC/G++ 최적화 옵션GCC/G++ 컴파일러에서 제공하는 주요 최적화 옵션을 살펴보겠습니다. 기본 옵션-O0: 최적화를 수행하지 않습니다. 디버깅 목적으로 사용됩니다.-O1: 기본 최적화를 수행합니다. 컴파일 속도와 실행 속도의 균형을 맞춥니다.-O2: 보다 높은 수준의 최적화를 수행합니다. 실행 속도를 향상시키지만 컴파일 시간이 늘어날 수 있습니다.-O3: 가장.. 2024. 8. 1. [C++ 네트워크 프로그래밍] Day 2: 소켓 프로그래밍 기초 (TCP) 소켓 프로그래밍 기초소켓 프로그래밍은 네트워크 통신을 위해 소켓을 사용하는 프로그래밍 기법입니다. 소켓은 네트워크 통신의 끝점을 나타내는 추상화된 개념으로, IP 주소와 포트 번호로 식별됩니다. TCP 소켓 프로그래밍TCP(Transmission Control Protocol)는 신뢰성 있는 데이터 전송을 보장하는 프로토콜입니다. 연결 지향적이며, 데이터의 순서와 무결성을 보장합니다. TCP 소켓 프로그래밍에서는 클라이언트와 서버 간의 연결을 설정하고, 데이터를 주고받는 과정을 구현합니다. TCP 소켓 프로그래밍의 주요 함수소켓 생성socket() 함수: 소켓을 생성합니다.domain: 주소 체계 (예: AF_INET - IPv4)type: 소켓 타입 (예: SOCK_STREAM - TCP)protoco.. 2024. 8. 1. [C++ 마스터] Day 1: C++ 소개와 개발 환경 설정 C++ 소개C++는 1980년대 초반에 Bjarne Stroustrup에 의해 개발된 프로그래밍 언어입니다. C++는 C 언어를 기반으로 객체 지향 프로그래밍(OOP) 개념을 도입하여, C의 성능과 유연성을 유지하면서도 더 높은 수준의 추상화를 제공합니다. 주요 특징:고성능: C++는 시스템 프로그래밍에 적합한 고성능 언어입니다.객체 지향 프로그래밍(OOP): 클래스, 상속, 다형성 등 OOP 개념을 지원합니다.다양한 패러다임 지원: 절차적, 객체 지향, 제네릭 및 함수형 프로그래밍을 지원합니다.표준 라이브러리(STL): 알고리즘, 데이터 구조, 반복자 및 함수 객체를 포함한 표준 템플릿 라이브러리를 제공합니다.개발 환경 설정C++ 개발을 위해 필요한 도구를 설치하고 설정합니다. 여기서는 Windows,.. 2024. 8. 1. [C++ 고급 프로그래밍과 응용 프로젝트] Day 1: 람다 함수와 함수 객체 람다 함수 (Lambda Functions)람다 함수는 인라인으로 정의된 익명 함수로, 함수 객체를 간편하게 정의할 수 있는 방법입니다. 람다 함수는 특히 코드에서 일회성으로 사용되는 짧은 함수를 정의할 때 유용합니다. 람다 함수의 기본 구조람다 함수의 기본 구조는 다음과 같습니다:[capture](parameters) -> return_type { // 함수 본문};capture: 람다 함수가 외부 범위에서 변수를 캡처하는 방식입니다.parameters: 함수의 매개변수입니다.return_type: 함수의 반환 타입입니다.함수 본문: 람다 함수의 실제 코드입니다.기본 예제람다 함수를 사용하여 벡터의 요소를 출력하는 예제를 살펴보겠습니다.#include #include #include int mai.. 2024. 8. 1. [C++ 성능 최적화 및 고급 테크닉] Day 1: 성능 최적화의 중요성 및 기본 원칙 성능 최적화의 중요성성능 최적화는 소프트웨어의 효율성을 극대화하여 더 빠르고, 자원 소모가 적으며, 반응성이 높은 프로그램을 만드는 과정입니다. C++에서는 시스템 자원에 대한 세밀한 제어가 가능하므로, 성능 최적화의 여지가 큽니다. 왜 성능 최적화가 중요한가?사용자 경험: 반응성이 빠른 애플리케이션은 사용자 경험을 향상시킵니다.자원 효율성: 최적화된 코드는 CPU, 메모리, 네트워크 대역폭 등을 효율적으로 사용합니다.비용 절감: 자원을 적게 사용하면 비용을 줄일 수 있습니다.확장성: 성능이 향상되면 애플리케이션의 확장성이 좋아집니다. 성능 최적화의 기본 원칙1. 정확한 프로파일링프로파일링을 통해 성능 병목 지점을 식별하는 것이 최적화의 첫 단계입니다. 프로파일링 도구를 사용하여 코드의 어느 부분이 가장.. 2024. 8. 1. [C++ 네트워크 프로그래밍 ] Day 1: 네트워크 프로그래밍 소개와 개발 환경 설정 네트워크 프로그래밍 소개네트워크 프로그래밍은 컴퓨터 네트워크를 통해 데이터를 송수신하는 소프트웨어를 작성하는 기술입니다. 이를 통해 두 개 이상의 컴퓨터가 데이터를 주고받을 수 있습니다. 네트워크 프로그래밍의 기본 단위는 소켓(socket)입니다. 네트워크 프로그래밍의 주요 개념클라이언트-서버 모델클라이언트: 네트워크에서 서비스를 요청하는 역할입니다. 예를 들어, 웹 브라우저가 웹 서버에 페이지를 요청합니다.서버: 네트워크에서 서비스를 제공하는 역할입니다. 웹 서버는 클라이언트의 요청에 따라 웹 페이지를 제공합니다.프로토콜프로토콜은 데이터를 어떻게 형식화하고 송수신할지 정의하는 규칙입니다. 대표적인 프로토콜에는 TCP/IP, HTTP, FTP 등이 있습니다.TCP (Transmission Control .. 2024. 8. 1. [참고자료] 자료구조/알고리즘/코딩테스트 자료구조- [교재] 읽고 나면 진짜 쉬워지는 자료구조- [교재] 이것이 자료구조 + 알고리즘이다 with C언어알고리즘- [교재] Introduction To Algorithms- [교재] 코딩 인터뷰 완전 분석- [교재] 266가지 문제로 정복하는 코딩 인터뷰 in C++코딩테스트- [블로그] 바킹독 C++ 코딩테스트- [교재] 코딩테스트 합격자되기(C++편)- [교재] 코딩테스트를 위한 자료구조와 알고리즘 with C++- [교재] 알고리즘 문제 해결 전략코딩테스트 사이트- 프로그래머스: 코딩테스트 연습을 할 수 있고 교육, 채용 등 개발자에게 필요한 것이 갖추어진 사이트- SW Expert Academy: 삼성에서 운영하고, 알고리즘을 학습 할 수 있는 사이트- 백준 온라인 저지(solved.ac).. 2024. 7. 13. [참고자료] C/C++/C# C 언어- [교재] 모두의 코드(C언어) - c reference: - devdocs(c언어): - programmers(c언어): - C 문서(Visual Studio 2022): C++- [교재] 모두의 코드(C++): - cppreference: - devdocs(c++):- programmers(c++): - C++ 문서(Visual Studio 2022): - C++ StandardC#- 예제로 배우는 C# 프로그래밍: - C# 문서(Visual Studio 2022): - .NET 문서(MicroSoft): 2024. 7. 13. 이전 1 ··· 13 14 15 16 17 18 다음 반응형