오늘의 목표
- 아침 코드카타
- 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 |