반응형

전체 글 435

[C++] 멤버 초기화 리스트 (member initializer lists)

안녕하세요. BlockDMask 입니다. 오늘은 C++ 멤버 초기화 리스트 라는 주제로 이야기를 해보려합니다. 1. 멤버 초기화 리스트란? 2. 멤버 초기화 리스트를 꼭 사용해야하는 경우 1. C++ member initializer lists (멤버 초기화 리스트) 일단 멤버 초기화 리스트 사용방법은 아래와 같습니다. 1. 멤버 초기화 리스트는 생성자 괄호() 뒤에 콜론(:)으로 표기합니다. 2. 초기화 할 멤벼 변수들을 쉼표로 구분하여 표기합니다. 3. 이때 소괄호() 를 이용해서 멤버 변수를 초기화 합니다. (C++11 이후 부터는 중괄호 초기화, 유니폼 초기화가 가능합니다.) 실제 코드에서 확인해보겠습니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include #i..

[맥OS] 맥북 ip 주소 확인 방법

안녕하세요. 오늘은 맥에서 ip주소를 확인하는 두가지 방법에 대해서 알아보려고 합니다. 쉽고 빠르게 환경설정에서 확인하는 방법과, 터미널에서 명령어를 입력해서 확인하는 방법이 있습니다. 1. 시스템 환경설정에서 직접 확인하는 방법 2. 터미널에서 확인하는 방법 1. 맥북 ip 확인 방법 1 - 네트워크에서 확인 1-1) 왼쪽위의 사과 버튼 -> 시스템 환경설정으로 갑니다. 1-2) 시스템 환경설정의 네트워크를 누릅니다. 1-3) 아이피를 확인합니다. 이제 IP도 찾았고, 이 블로그에서 뽑아먹을건 먹었으니 블로그를 닫습니다. (또오세요~) 2. 맥북 ip 확인 방법 2 - 터미널에서 확인 혹시 터미널에서 확인하는게 궁금하신분들 터미널에서 확인한다면 뭔가 (있어보이게?) 확인할 수 있습니다. 2-1) 터미널..

[C++] nullptr (널 포인터 리터럴)

안녕하세요. BlockDMask입니다. 오늘은 C++11에서 도입된 새로운 키워드 nullptr에 대해서 이야기해보려 합니다. 기존 C언어, C++을 사용하시는 많은 분들이 0, NULL 이렇게 널을 사용하셨을 텐데요. C++11부터는 nullptr을 사용하시면 좋을 것 같습니다. 1. C++ nullptr 이란? 2. C++ NULL, nullptr의 차이점 1. C++11 nullptr 설명 모든 변수에는 초기화하는 방법이 있습니다. 기존 C, C++에서는 포인터를 초기화할 때 0을 이용해서 초기화를 하였는데요. C++11부터는 nullptr을 가지고 초기화를 하시면 됩니다. 1-1) nullptr nullptr을 한 줄로 말하자면 널 포인터 값(null pointer value)을 나타내는 포인터 ..

[비주얼 스튜디오] 폰트(글꼴), 글자 크기, 글자 색 변경 방법

안녕하세요. 오늘은 비주얼 스튜디오에서 폰트(글꼴)와 글자 크기 그리고 글자 색을 변경하는 방법에 대해서 알아보겠습니다. 오늘도 쉽고 빠르게 알려드리겠습니다. visual studio 폰트, 글자 크기, 색 변경 1. 비주얼 스튜디오에서 "도구" -> "옵션" 메뉴를 누릅니다. 그럼 옵션 창이 뜨게 됩니다. 2. 옵션창에서 "환경" -> "글꼴 및 색" 항목을 눌러줍니다. 그럼 우측에 "글꼴(font)"설정을 할 수 있고, 글자 크기를 설정할 수 있는 창들이 나옵니다. 그 아래에는 항목 전경, 항목 배경 메뉴를 이용해서 글자의 색, 글자 배경색도 변경할 수 있습니다. 제가 사용하고 있는 폰트는 Consolas입니다. 코드를 작성할 때, 읽을 때 i, I, j 등이 헷갈리지 않아서 유용하게 사용하고 있습니..

[C++] 디폴트 매개변수 (default parameter)

안녕하세요. BlockDMask입니다. 오늘은 C++의 편리한 문법 디폴트 매개변수, 디폴트 파라미터, default paramter에 대해서 알아보려고 합니다. 1. default parameter 정리 2. default parameter 주의할 점 1. C++ 디폴트 매개변수, 디폴트 파라미터란? - 디폴트 매개변수? 한 문장으로 정리를 하면 함수 호출 시 인자를 넣지 않으면, "미리 정해준 인자 값"이 대신 들어가게 됩니다. 아 물론. 반대로, 인자로 값을 넣게 되면 "미리 정해둔 인자 값"이 아니라 지금 넣는 인자가 들어가게 됩니다. 디폴트 매개변수는 함수의 인자에 "= 값" 을 사용해서 값을 정해줄 수 있습니다. 들어온 숫자를 더해서 출력하는 함수 void addNum(int a, int b)..

[비주얼 스튜디오] 테마 변경 방법 (다크 모드, 화이트 모드)

안녕하세요. 오늘은 비주얼 스튜디오 테마 변경 방법에 대해서 알아보겠습니다. 비주얼 스튜디오 테마 설정 1. 비주얼 스튜디오를 켜고 "도구" -> "옵션" 창을 누릅니다. 2. 옵션 창에서 "환경" -> "일반"을 클릭합니다. 그럼 옵션에 시각적 효과 부분에 "색 테마" 부분이 나옵니다. 비주얼 스튜디오에서 기본적으로 저렇게 광원, 어둡게, 파랑, 파랑대비 이런 식으로 테마를 제공해주고 있습니다. 원하는 테마를 골라서 "확인" 버튼을 누르면 테마가 바뀌게 됩니다. 이상으로 비주얼 스튜디오에서 테마를 변경하는 방법에 대해서 알아보았습니다. 감사합니다.

[C++] constexpr 상수

안녕하세요. BlockDMask 입니다. 오늘은 C++11 부터 나온 contexpr 이라는 것에 대해서 알아보려고 합니다. const 와 비슷하게 상수를 만들어 주는 또 다른 키워드 constexpr 이 무엇인지 한번 알아보겠습니다. C++ const, constexpr (constexpr 은 C++11에 처음 나왔으며 C++14 에서 개선됨 어짜피 현재는 2021년이기 때문에 C++11이든 14이든 예전에 생긴 문법입니다.) constexpr 이란. 컴파일 시간 상수를 만드는 키워드 컴파일 시간에 결정되는 상수 값으로만 초기화 할 수 있다. constexpr이 변수를 상수로 만들어 준다고 하는데 그럼 const와 똑같은데 무슨 차이가 있나요? 라고 질문 하실 수 있는데, 좀 더 상세하게 상수에 대해서..

[C++] 인라인 함수 (inline function)

안녕하세요 BlockDMask 입니다. 오늘은 C++의 inline 함수에 대해서 알아보겠습니다. inline function이란? 인라인 함수 inline function? 함수 반환 타입 앞에 'inline"을 표기한 함수 inline 반환형 함수이름 ( 매개변수 ) 이렇게 함수 이름앞에 inline을 붙이면 일반 함수와 달리, 프로그램이 생성될때 함수가 치환되어 생성됩니다. 아래 예제에서 간단하게 예시를 들어보겠습니다. 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 int add1(int a, int b) { return a + b; } inline int add2(int a, int b) { return a + b;..

[C++] 2진수 8진수 16진수 표기법, 자릿수 표기법

안녕하세요. BlockDMask입니다. C++에서 정수를 표현할 때 진수를 표현하는 방법과 자릿수를 표기하는 방법에 대해서 알아보겠습니다. 1. 8, 16, 2진수 표기법 2. 자릿수 표기법 1. C++ 2진수, 8진수, 16진수 표기법 - C++ 2진수 표기 "0b숫자(2진수)" 2진수로 표기하는 것은 C++ 11에서부터 가능합니다. 표기하고자 하는 숫자 앞에 숫자 0과 알파벳 b "0b"를 붙이게 되면 2진수로 표기가 됩니다. 0b 뒤에 오는 숫자는 2진수로 표현된 숫자 이어야 합니다. 즉 0b1010, 0b10 등 0과 1로 이루어진 2진수 이어야 하는 것입니다. - C++ 8진수 표기 "0숫자(8진수)" 8진수로 표기하려 하면 숫자 0을 붙이면 됩니다. 0 뒤에 오는 숫자는 8진수로 표기된 숫자 ..

[맥OS] 맥북 크롬 설치 방법

안녕하세요. 오늘은 맥북에 크롬 브라우저를 설치하는 방법에 대해서 알아보겠습니다. 맥북에 기본적으로 깔려있는 사파리가 익숙하지 않거나, 구글 계정이 있어서 동기화해서 사용해야 한다면 크롬 브라우저가 필요하겠죠? 맥북 크롬 설치 방법 1. 사파리 앱에서 "크롬"을 검색해서 구글 크롬 다운로드 페이지로 갑니다. 이쪽에 링크를 달아둘 테니 이쪽으로 바로 가셔도 됩니다. 구글 크롬 다운로드 [바로가기] 2. 내 맥북이 어떤 칩을 사용하는지 확인 정확하게 확인하는 방법은 왼쪽 위에 "사과 버튼" -> 이 맥에 관하여 -> 인텔인지 M1 칩인지 확인 제 맥북은 "프로세서 ~~~ Intel" 이라고 나오는 것으로 보아 인텔 칩을 사용하네요. 맥북 m1 칩을 사용하면 "Chip Apple M1" 이런식으로 apple ..

[C++] std::setw, std::setfill, std::left, std::right (입출력 형태 지정2)

안녕하세요. BlockDMask 입니다. 지난시간에 이어서 오늘도 조정자 함수 io manipulator 들에 대해서 알아보려고합니다. 오늘은 왼쪽 정렬을하는 std::left, 오른쪽 정렬을하는 std::right, 출력시 개수를 지정하는 std::setw, 빈 공간을 채우는 std::setfill 함수. 이렇게 총 4개의 함수에 대해서 알아보겠습니다. 1. C++ std::setw, std::setfill 함수 설명 2. C++ std::left, std::right 함수 설명 1. std::setw, std::setfill 함수 설명 - 헤더파일 - std::setw 함수 std::setw(n) 출력시 길이를 n으로 지정. std::setw 출력에 사용할 필드의 넓이를 설정합니다. 즉 가로길이를 지..

[C++] 8진수, 10진수 16진수 출력 (입출력 형태 지정 1)

안녕하세요. BlockDMask 입니다. 오늘은 C++ 표준 입출력에서 출력을 할때 진수를 지정해주는 것에 대해서 알아보려고 합니다. 1. C++ 8진수, 10진수, 16진수 출력 방법 2. C++ 8, 10, 16 진수 출력 예제 1. C++ 8진수, 10진수, 16진수 출력 방법 - 8진수 출력 std::oct 변수의 값을 8진수의 형태로 출력해주는 함수 입니다. int n = 9; std::cout

[맥OS] 맥북 이모티콘 단축키, 이모티콘 입력 방법

안녕하세요. 오늘은 맥북에서 이모티콘을 사용하는 방법과, 단축키에 대해서 알아보겠습니다. 1. 이모티콘 사용방법1 - 단축키 2. 이모티콘 사용방법2 - 키보드 메뉴 사용 3. 이모티콘 사용시 단축키가 먹히지 않을때 1. 맥북 이모티콘 단축키 Control + Command + Space bar 입력하고자 하는 곳에서 "컨트롤 + 커멘드 + 스페이스바"를 입력하게 되면 이모티콘창이 뜨게 됩니다. 이렇게 말이죠. 2. 맥북 이모티콘 키보드 메뉴 사용 2-1) 일단 화면왼쪽 위에 사과버튼 -> 시스템 환경설정 -> 키보드 -> 메뉴 막대에 키보드 및 이모티콘 뷰어 표시를 체크ON 해줍니다. 2-2) 그러면 여기 화면 오른 쪽 위에 "한" "A" 메뉴를 눌러보면 "이모티콘 및 기호 보기" 메뉴가 나타나게 됩니..

[C++] 표준 입출력 std::cin, std::cout 정리 및 예제

안녕하세요. BlockDMask 입니다. 오늘은 C++ 표준 출력인 cout 에 대해서 알아보겠습니다. 1. std::cout 기본 설명 2. std::cin 기본 설명 3. std::cin, std::cout 예제 1. C++ 표준 출력 cout 기본 설명 - 헤더파일 - C++ cout 기본 설명 C++의 표준 출력은 std::cout 을 이용합니다. std::cout을 딱 보았을때 한가지 알아두셔야 할것은 "std::" std 네임스페이스에 속해 있다는 것 입니다. cout 이름만 보아도 무언가를 출력하겠구나 하시겠죠? out 이니까? cout은 쉬프트 연산자

[C++] namespace 네임스페이스 정리 및 예제

안녕하세요. BlockDMask입니다. 오늘은 C++의 namespace 이름 공간에 대해서 알아보려고 합니다. C언어에서는 없던 새로운 개념인데요, 한번 천천히 자세하게 알아보겠습니다. 1. namespace 란? 2. namespace의 요소에 접근하는 방법 5가지 3. C++ 표준 이름공간 std 1. C++ namespace 란? 하나의 프로그램을 만들다 보면 여러 파일이 생성되고, 여러 개발자가 붙어서 개발을 하다 보면 함수나 구조체 등에서 이름이 같은 경우가 생기게 됩니다. 이런 경우 함수의 이름이나 구조체의 이름 그리고 당연하게도 변수의 이름이 같아지게 되면 이름 충돌이 발생하여 오류가 발생하게 됩니다. 이런 충돌이 발생하지 않기 위해 만들어진 것이 namespace라는 개념입니다. 쉽게 이..

반응형