본문 바로가기 메뉴 바로가기

와와

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

와와

검색하기 폼
  • 분류 전체보기 (28) N
    • 개발 (27) N
      • C++ (15)
      • 책 (1)
      • Unity (9) N
    • ʕ•ᴥ•ʔ (0)
  • 방명록

개발/C++ (15)
[ 씹어먹는 C++ ] 16~17

16-3. 타입을 알려주는 키워드 decltype 와 친구 std::declval 1. decltypeC++11에서 도입된 decltype 키워드는 식의 타입을 알아내는데 사용하는 키워드이다.decltype(/* 타입을 알고자 하는 식*/) 기본적인 사용 예시:#include struct A { double d;};int main() { int a = 3; decltype(a) b = 2; // int int& r_a = a; decltype(r_a) r_b = b; // int& int&& x = 3; decltype(x) y = 2; // int&& A* aa; decltype(aa->d) dd = 0.1; // double} 2. 값 카테고리C++에서 모든 식(express..

개발/C++ 2024. 11. 17. 03:00
[ 씹어먹는 C++ ] 유니폼 초기화, constexpr

유니폼 초기화 1. 배경 C++에서 객체를 생성할 때 괄호()를 사용하면 의도치 않게 함수 선언으로 해석되는 경우가 있다.#include class A { public: A() { std::cout 이 코드는 A 객체를 생성하는 것처럼 보이지만, 실제로는 A를 반환하고 인자가 없는 함수 a를 선언한 것으로 해석된다. 2. 균일한 초기화 문법: 중괄호{} 사용 C++11에서는 이러한 모호성을 해결하기 위해 중괄호{}를 사용하는 균일한 초기화를 도입했다#include class A { public: A() { std::cout 중괄호 초기화의 중요한 특징은 데이터 손실이 있는(Narrowing) 변환을 허용하지 않는다는 것이다.#include class A { public: A(int x) { st..

개발/C++ 2024. 10. 27. 18:57
[ 씹어먹는 C++ ] 쓰레드 풀 만들기

https://modoocode.com/285" data-og-description="모두의 코드 씹어먹는 C++ - 작성일 : 2019-05-19 이 글은 57869 번 읽혔습니다. 이번 강좌에서는에 대해 다룹니다.안녕하세요 여러분! 이번 강좌에서는 여태까지 " data-og-host="modoocode.com" data-og-source-url="https://modoocode.com/285" data-og-url="https://modoocode.com/285" data-og-image=""> 씹어먹는 C++ - 모두의 코드 씹어먹는 C++ - 작성일 : 2019-05-19 이 글은 57869 번 읽혔습니다. 이번 강좌에서는에 대해 다룹니다.안녕하세요 여러분! 이번 강좌에서는 여태까지modooc..

개발/C++ 2024. 10. 26. 19:00
[ 씹어먹는 C++ ] C++의 멀티스레딩

C++의 멀티스레딩  1. 프로세스와 스레드 프로세스는 실행 중인 프로그램의 인스턴스이다. 각 프로세스는 독립된 메모리 공간을 가집니다.반면 스레드는 프로세스 내에서 실행되는 작업의 단위로, 같은 프로세스 내의 스레드들은 메모리를 공유한다. 2. 왜 멀티스레드 프로그래밍을 할까?병렬화 가능한 작업: 예를 들어, 1부터 10000까지의 합을 계산할 때, 이를 여러 스레드로 나누어 계산하면 더 빠르게 결과를 얻을 수 있다.대기 시간이 긴 작업: 네트워크 요청과 같이 대기 시간이 긴 작업을 별도의 스레드에서 처리하면, 메인 스레드가 블로킹되지 않고 다른 작업을 계속할 수 있다. 3. C++에서 스레드 생성하기C++11 부터 표준 라이브러리에 thread가 추가되어 쉽게 스레드를 생성할 수 있다.#include..

개발/C++ 2024. 10. 13. 01:28
[ 씹어먹는 C++ ] 함수 객체

함수 객체 Callable ()를 붙여서 호출할 수 있는 모든 것  Std::function 모든 Callable들을 보관할 수 있는 객체#include #include #include int some_func1(const std::string& a) { std::cout f1 = some_func1; std::function f2 = S(); std::function f3 = []() { std::cout  std::function 이름 = Callable; 와 같은 형태로 템플릿 인자로 전달 받을 함수의 타입을 가진다.  멤버 함수를 가지는 std::function 멤버 함수를 호출할 때, 구현 상 자신을 호출한 객체를 인자로 암묵적으로 받고 있다.따라서 아래와 같은 코드를 실행하면 에러가 날..

개발/C++ 2024. 10. 12. 21:34
[ 씹어먹는 C++ ] 스마트 포인터 (unique_ptr/ shared_ptr/ weak_ptr)

https://modoocode.com/229" data-og-description="모두의 코드 씹어먹는 C ++ - 작성일 : 2018-09-18 이 글은 57754 번 읽혔습니다. 이번 강좌에서는 C++ 의 RAII 패턴unique_ptr안녕하세요 여러분! 지난번 강좌에서 다" data-og-host="modoocode.com" data-og-source-url="https://modoocode.com/229" data-og-url="https://modoocode.com/229" data-og-image=""> 씹어먹는 C ++ - 모두의 코드 씹어먹는 C ++ - 작성일 : 2018-09-18 이 글은 57754 번 읽혔습니다. 이번 강좌에서는 C++ 의 RAII 패턴unique_ptr안녕하..

개발/C++ 2024. 9. 22. 21:44
[씹어먹는 C++] 우측값 레퍼런스/ 이동 생성자/ Move 문법/ 완벽한 전달

https://modoocode.com/227" data-og-description="모두의 코드 씹어먹는 C++ - 작성일 : 2018-03-24 이 글은 72589 번 읽혔습니다. 이번 강좌에서는 복사 생략 (Copy elision)우측값 레퍼런스 (rvalue referen ce)이동 생성" data-og-host="modoocode.com" data-og-source-url="https://modoocode.com/227" data-og-url="https://modoocode.com/227" data-og-image="https://blog.kakaocdn.net/dna/cR7dI7/hyW6JsnR9N/AAAAAAAAAAAAAAAAAAAAACrjfrpIJ3cvEh37Qc0w2b3SsGwWzdhMI8TWxBVi6jBT/img.png?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1751295599&allow_ip=&allow_referer=&signature=9SwkF8%2FLm25lmJyzD%2FwOrfRm3ng%3D

개발/C++ 2024. 9. 20. 13:36
[ 씹어먹는 C++ ] C++에서의 예외 처리

C++에서의 예외 처리 예외 발생시키기 - throwC++ 에서는 throw를 통해 예외가 발생하였다는 것을 명시적으로 나타낼 수 있다. 위과 같이 throw 로 예외로 전달하고 싶은 객체를 써주면 된다.C++ 표준에는 out_of_range, overflow_error, length_error, runtime_error 등등 여러가지가 정의되어 있고 표준 라이브러리에서 활용한다. 예외를 throw 하게 되면, throw 한 위치에서 즉시 함수가 종료되고, 예외 처리하는 부분까지 점프하게 된다. 따라서 throw 밑에 있는 모든 문장은 실행되지 않는다. 한 가지 중요한 점은예외 throw -> 즉시 함수 종료 -> 예외 처리하는 부분까지 점프 (catch) 의 과정을 거치므로 throw 밑에 있는 모든 ..

개발/C++ 2024. 9. 8. 14:31
[ 씹어먹는 C++ ] 10. C++ STL

10-1. C++ STL - 벡터(std::vector), 리스트(list), 데크(deque)  C++ 템플릿 라이브러리(STL)를 일컫는다면 다음과 같은 세 개의 라이브러리들을 의미한다.임의 타입의 객체를 보관할 수 있는 컨테이너 (container)컨테이너에 보관된 원소에 접근할 수 있는 반복자 (iterator)반복자들을 가지고 일련의 작업을 수행하는 알고리즘 (algorithm) 컨테이너시퀀스 컨테이너: 배열 처럼 객체들을 순차적으로 보관 (vector, list, deque)연관 컨테이너: 키를 바탕으로 대응되는 값을 찾아줌 시간 복잡도 (빅오 표기)  벡터임의의 위치 원소 접근 ([], at) : O(1)O(1)맨 뒤에 원소 추가 및 제거 (push_back/pop_back) : amorti..

개발/C++ 2024. 9. 1. 13:00
씹어먹는 C++ 공부하기 (9~)

9-1. 코드를 찍어내는 틀 - C++ 템플릿(template) C++ 템플릿 (template)class Vector { std::string* data; int capacity; int length; public: // 생성자 Vector(int n = 1) : data(new std::string[n]), capacity(n), length(0) {} // 맨 뒤에 새로운 원소를 추가한다. void push_back(std::string s) { if (capacity  과 같이 String 데이터를 저장하는 Vector 클래스가 있다.String 말고도 int, char 등의 데이터를 저장하는데도 쓰고 싶다면 템플릿을 사용하면 됨.T 라는 타입의 객체들을 보관하는 Vector 클..

개발/C++ 2024. 8. 4. 12:17
이전 1 2 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • 스핀락
  • ARface
  • 바이너리세마포
  • 유니티
  • 유니티슈팅게임
  • unityAR
  • dependencyResilutionManagement
  • semaphore
  • 게임개발
  • unorderedmap
  • Vector
  • ㅗㅂ
  • Unity
  • Java
  • photon
  • 안드로이드스튜디오
  • 광유다
  • 지크슈
  • mutex
  • C++
  • 뮤텍스
  • 동기화
  • unorderedset
  • registerForActivityResult
  • map
  • 포톤
  • 세마포
  • StartActivityForResult
  • NotFoundException: String resource ID #0x0
  • SpinLock
more
«   2025/06   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.