오늘의 목표

  • 아침 코드카타
  • C++ 문법 2-1. 자원 관리 복습
  • Github 기초 공부
  • C++ 문법 2-2 강의 수강
  • C++ 문법 2-2 강의 복습
  • C++ 문법 2-3 강의 수강

 

1. 코드카타

 

<오늘의 문제> 문자열을 정수로 바꾸기

 

**c언어에서 문자열을 정수로 바꿀 때는 <stdlib.h> 의 atoi 함수를 사용하면 된다.

 

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
int solution(const char* s) {
    int answer = 0;
    
    char* str;
    strcpy(str, s);
    
    answer = atoi(str);
    
    return answer;
}

 

처음 써 보는 함수라서 기록해둔다.

 

 

 

다른 사람들의 풀이를 확인해보니 여기서 더 간단하게 작성할 수 있다고 한다.

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
int solution(const char* s) {
    int answer = 0;
    
    answer = atoi(s);
    
    return answer;
}

 

어짜피 const 문자열인 s를 수정하는 것이 아니기 때문에 바로 answer = atoi(s) 를 사용해도 문제가 없다. 기억해두자.

 

 

2. C++ 문법 2-1. 자원 관리 복습 (완료)

https://annadevelop.tistory.com/56

(개인 공부 내용이라 비공개 글입니다)

 

 

회고

오늘 배운 점

세 가지의 스마트 포인터(unique_ptr, shared_ptr, weak_ptr) 를 예제를 통해 자세히 습득했다.

특히 shared_ptr가 순환 참조를 할 때의 메모리 구조에 대해 깊게 공부했다.

 

shared_ptr a가 shared_ptr b_ptr을 가진 class A를 소유하고 shared_ptr b가 shared_ptr a_ptr을 가진 class B를 소유하고 있을 때,

a->b_ptr = b;

b->a_ptr = a;

를 하게 되면 서로를 순환 참조하게 된다.

이 경우 b_ptr이나 a_ptr 중 하나를 weak_ptr로 정의해줘야 한다.

더 공부해볼 점

shared_ptr과 weak_ptr 파트를 이해하긴 했지만 메모리 구조를 어떻게 그리면 좋을지 모르겠어서 강의를 다시 확인해봐야겠다.

 

 

'Unreal5 공부 > TIL' 카테고리의 다른 글

2026/03/19 TIL  (0) 2026.03.19
2026/03/18 TIL  (0) 2026.03.18
2026/03/16 TIL  (0) 2026.03.16
2026/03/13 TIL  (0) 2026.03.13
2026/03/11 TIL  (0) 2026.03.11

+ Recent posts