코딩 모닥불
  • 메뉴 닫기
  • 글작성
  • 방명록
  • 환경설정
    • 분류 전체보기
      • C++
      • 표준 라이브러리
      • 백준(BOJ)
  • 홈
  • 태그
  • 방명록
표준 라이브러리

[C++] 함수에 std::vector 전달하기

std::vector를 매개변수로 하는 함수std::vector는 다양한 타입의 데이터를 담을 수 있는 컨테이너입니다.이 컨테이너는 사용자가 원한다면, 매우 많은 원소를 저장할 수 있기 때문에, 함수에서 사용하려면 값에 의한 전달( call by value )이 아니라 참조에 의한 전달( call by reference ) 방식을 사용해야 합니다.#include #include // vector를 매개변수로 하는 함수void printData( const std::vector& vec){ for( auto i : vec){ std::cout vec{ 1, 2, 3, 4, 5 }; printData( vec );}▼출력1 2 3 4 5그런데, 다양한 타입을 저장할 수 있는 ..

2025. 1. 18.
C++

[C++] 템플릿 함수( template function )의 정의 중복

일반 함수의 정의 중복이전 글에서 말한 것과 같이, 여러 파일에서 다음과 같이, 동일한 함수를 정의하게 되면, 프로그램 내에는 하나의 정의만 존재해야 된다는 ODR( one definition rule )을 어기게 됩니다. [C++] 클래스 같은 타입( type )의 정의 중복타입( type )의 정의 중복이전 글에선, 헤더 가드( header guard )를 설명하면서, 함수의 정의가 있는 헤더 파일을 다른 두 cpp 파일에서 포함하는 경우, 정의의 중복 문제가 발생한다는 것을 얘기했습codingbonfire.tistory.com// module.cpp ----------------------------------------int add( int a, int b){ // 함수 정의 return a..

2025. 1. 15.
C++

컴파일러가 자동으로 생성하는 기본 생성자( default constructor )

기본 생성자( default constructor )생성자( constructor )란 객체를 메모리에 할당한 후에, 그 객체의 사용 준비를 마치기 위하여 호출되는 함수입니다. 이 생성자에서는 일반적으로 객체의 데이터 멤버의 초기화나, 객체가 사용하기 위한 메모리 할당, 그리고 특수한 작업을 위한 파일의 생성 및 열기 등의 작업을 수행하게 됩니다. 이러한 생성자 중에서, 매개 변수를 하나도 가지지 않는 생성자를 기본 생성자( default constructor )라고 합니다.class CDate{private: int m_year; int m_month; int m_day;public: CDate(){ // 기본 생성자 std::cout 그리고, 객체를 값-..

2025. 1. 14.
C++

[C++] 지정 초기화를 통한 struct의 초기화와 대입 연산

지정 초기화( designated initializer )다음과 같은 구조체를 초기화할 때, 여러 데이터 멤버를 한 번에 초기화할 수 있는 초기화 리스트( initializer list )는 편리합니다. [C++] 구조체( struct )와 같은 집합체( aggregate )의 초기화집합체( aggregate )의 초기화집합체( aggregate )란 여러 개의 데이터 멤버를 갖고 있는 타입( type )을 말합니다. 다음은 이러한 집합체 해당하는 struct 타입의 예입니다.struct Date{ // 집합체 int year; int mcodingbonfire.tistory.com#include #include struct Date{ int year; int month{ 1 }; ..

2025. 1. 12.
C++

[C++] 구조체( struct )와 같은 집합체( aggregate )의 초기화

집합체( aggregate )의 초기화집합체( aggregate )란 여러 개의 데이터 멤버를 갖고 있는 타입( type )을 말합니다. 다음은 이러한 집합체 해당하는 struct 타입의 예입니다.struct Date{ // 집합체 int year; int month; int day; }; 이러한 집합체에는 struct와 같이 다양한 타입의 데이터 멤버들을 담는 클래스 타입( class type )과, 배열과 같이 동일한 타입의 데이터 멤버들로 구성되는 타입으로 나눠볼 수 있습니다.전자에 해당하는 클래스 타입으로는 struct, class 그리고 union 타입이 있고, 후자에 해당하는 타입으로는 C-style 배열과, std::array 등을 들 수 있습니다...

2025. 1. 10.
C++

[C++] 클래스의 모든 객체에 공유되는 정적( static ) 멤버 변수

정적 멤버 변수( static member variable )static는 이 키워드가 사용되는 문맥에 따라, 다양한 해석이 필요한 키워드( keyword )입니다. 만약, 이 키워드가 전역 변수( global variable )와 함께 사용되면, 이 전역 변수가 정의된 파일 내에서만 공유되는( 내부 링크를 가지므로 ) 전역 변수를 의미하게 되며, 함수 안의 지역 변수( local variable )와 함께 사용되면, 그 함수 호출 시에만 공유되는 전역 변수를 정의하게 됩니다. [C++] 전역 변수( global variable )의 종류와 링크( linkage )의 개념전역 변수의 종류C++에서 지역 변수( local variable )는 함수 내부에 정의된 변수를 말합니다.이에 대응하는, 함수 외부에..

2025. 1. 8.
C++

[C++] 진정한 의미의 전역 상수와 inline 변수

전역 상수로서의 const, constexpr 변수파일 내의 모든 곳에서 특정 값( 예를 들어, 원주율을 나타내는 3.1415 )을 사용하고 싶다면, 일반적으로 다음과 같은 코드를 작성할 것입니다.// main.cpp#include const double PI = 3.1415; // 원주율int main(){ double dRadius = 10.0; std::cout ▼출력circumference: 62.83 그리고, 이 전역 상수( global constant ) PI를 프로그램 내의 모든 파일에서 사용하고 싶다면, 다음과 같이 헤더 파일을 이용할 것입니다.// variables.h -------------------------------------const double PI = 3.14..

2025. 1. 6.
C++

[C++] inline 함수에 대한 이해

함수 호출과 inline 확장( expansion )아래의 예문은 main 함수에서 간단한 함수를 호출하는 코드를 보여줍니다.#include int add( int a, int b){ return a + b;}int main(){ int val = add( 3, 5); // 함수 호출 std::cout 그런데, 이 함수 호출에는 함수의 내용을 실행하는 것 외에 들어가는 추가비용이 있습니다.이러한 비용에는, 함수의 인수 3과 5를 함수에 전달하는 과정에 들어가는 복사 비용, 함수의 결과를 main 함수에 다시 되돌려주는데 필요한 전달 비용, 그리고 함수 호출에 필요한 스택( stack ) 처리의 비용 등이 포함됩니다.즉, 함수의 호출은 공짜가 아니라는 얘기죠. 그렇지만, 일반적으로 이 비용..

2025. 1. 4.
C++

[C++] inline 함수와 static 함수의 비교

inline 함수 vs static 함수특이하게도 inline 함수와 static 함수는, 이 함수들을 포함하는 모든 파일에 정의될 수 있다는 공통점이 있습니다. 위의 문장을 좀 더 쉽게 이해할 수 있도록, 다음글을 먼저 읽어보는 것을 추천합니다. [C++] inline 함수에 대한 이해함수 호출과 inline 확장( expansion )아래의 예문은 main 함수에서 간단한 함수를 호출하는 코드를 보여줍니다.#include int add( int a, int b){ return a + b;}int main(){ int val = add( 3, 5); // 함수 호출 std::cout 그런codingbonfire.tistory.com 원래, 일반 함수가 서로 다른 두 파일에 정의되면, 프로그램 내에서 식..

2025. 1. 4.
C++

[C++] 외부 링크( external linkage )를 갖게 하는 extern 키워드

외부 링크( external linkage )이전 글에서 링크( linkage )란 다른 파일에서 현재 파일에 정의되어 있는 식별자에 접근할 수 있는지를 제어할 수 있는 식별자의 속성이라고 얘기했었습니다. [C++] 전역 변수( global variable )의 종류와 링크( linkage )의 개념전역 변수의 종류C++에서 지역 변수( local variable )는 함수 내부에 정의된 변수를 말합니다.이에 대응하는, 함수 외부에 정의된 변수를 전역 변수( global variable )라고 합니다.// main.cpp#include int g_var;codingbonfire.tistory.com 이러한 링크에는 내부 링크( internal linkage )와 외부 링크( external linkage..

2025. 1. 1.
  • «
  • 1
  • ···
  • 7
  • 8
  • 9
  • 10
  • 11
  • »

전체 카테고리

  • 분류 전체보기
    • C++
    • 표준 라이브러리
    • 백준(BOJ)

블로그 인기글

태그

  • #상수 표현식
  • #std::queue
  • #Enum
  • #헤더 가드
  • #std::unique_ptr
  • #std::sort
  • #inline
  • #복사 생성자
  • #소멸자
  • #constexpr
  • #std::string_view
  • #using
  • #static_cast
  • #함수 객체
  • #전방 선언
  • #std::stack
  • #decltype
  • #동적 계획법
  • #auto
  • #초기화
  • #깊이 우선 탐색
  • #포인터
  • #Lamda
  • #전처리기
  • #namespace
  • #예외 처리
  • #이진 탐색
  • #const
  • #std::vector
  • #범위 기반 for
MORE
애드센스 광고 영역
Powered by Privatenote Copyright © 코딩 모닥불 All rights reserved. TistoryWhaleSkin3.4

티스토리툴바