TIL - 02(switch, 함수, nodiscard)

jh Seo·2024년 7월 25일

switch문

swtich문을 자주 썼지만 늘 형식적인

case 1:
	break;
case 2:
	break;
default:
	break;

이런식으로 사용하느라 break없을 때 어떻게 작동하는 지 몰랐었다.

중간에 break가 없으면

case 1:
case 2:
	break;
default:
	break;

case 1과 2과 마치 or 연산처럼 둘 중에 하나라도 만족하면 안으로 들어간다.

함수

작동방식

함수를 호출하면 작동하는 방식은
1. 돌아올 주소를 Backup해두고
2. 호출할 함수의 주소로 이동
3. 해당 함수를 수행하고
4. return을 만나면 저장해둔 주소로 다시 복귀한다.

콜링 컨벤션

함수를 호출하는 방식을 지정해주는 것으로
__cdecl, __stdcall, __thiscall, __fastcall 등이 있다.

아키텍쳐마다 다르다.

attribute ([[nodiscard]])

함수옆에 [[]] 기호로 표시해주는 특성으로 컴파일러에게 작동할 방식을 알려줌
nodiscard는 함수의 반환값이 무시되지 않도록 지정해줌
반환값을 사용하지 않고 그냥 함수 호출만 한다면 컴파일러가 warning을 띄워준다.

profile
코딩 창고!

0개의 댓글