๊ธ€ ์ž‘์„ฑ์ž: ๋˜ฅํด๋ฒ .
๋ฐ˜์‘ํ˜•

1. ์„ค๋ช…


 ๋งŒ์•ฝ์— ์–ด๋–ค ํ•จ์ˆ˜๊ฐ€ ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค๋ฉด noexcept ํ‚ค์›Œ๋“œ๋ฅผ ํ†ตํ•ด ๋ช…์‹œํ•  ์ˆ˜ ์žˆ๋‹ค.

int foo() noexcept {}

foo ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค์ง€ ์•Š์œผ๋ฏ€๋กœ ์œ„์™€ ๊ฐ™์ด ํ•จ์ˆ˜ ์ •์˜ ์˜†์— noexcept๋ฅผ ๋„ฃ์Œ์œผ๋กœ์จ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.

 

#include <iostream>

using namespace std;

int foo() noexcept { return 0; }

int bar() noexcept { throw 1; }

int main() 
{
    foo();

    try 
    {
        bar();
    }
    catch (int x) 
    {
        std::cout << "Error : " << x << std::endl;
    }

    return 0;
}

 ์ปดํŒŒ์ผ๋Ÿฌ๋Š” noexcept ํ‚ค์›Œ๋“œ๊ฐ€ ๋ถ™์€ ํ•จ์ˆ˜๋ฅผ ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค์ง€ ์•Š๋Š”๋‹ค๊ณ  ํŒ๋‹จํ•˜๊ณ  ์ปดํŒŒ์ผํ•œ๋‹ค.

noexcept๋กœ ๋ช…์‹œ๋œ ํ•จ์ˆ˜๊ฐ€ ์˜ˆ์™ธ๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค ํ•ด๋„ ์˜ˆ์™ธ๊ฐ€ ์ œ๋Œ€๋กœ ์ฒ˜๋ฆฌ๋˜์ง€ ์•Š๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ์ข…๋ฃŒ๋œ๋‹ค.

 

C++ 11์—์„œ๋ถ€ํ„ฐ ์†Œ๋ฉธ์ž๋“ค์€ ๊ธฐ๋ณธ์ ์œผ๋กœ noexcept๋‹ค. ์ ˆ๋Œ€๋กœ ์†Œ๋ฉธ์ž์—์„œ ์˜ˆ์™ธ๋ฅผ ๋˜์ง€๋ฉด ์•ˆ ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

 

 

 

 

2. ์ฐธ๊ณ  ๋ฐ ์ถœ์ฒ˜


https://modoocode.com/197#page-heading-2
๋ฐ˜์‘ํ˜•

'Language > C++' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[C++] keyword: enum class  (0) 2020.07.23
[C++] keyword: static_cast, dynamic_cast, reinterpret_cast, const_cast  (0) 2020.07.23
[C++11] keyword: constexpr  (0) 2020.07.23
[C++] keyword: using  (0) 2020.07.23
[C++] keyword: friend  (0) 2020.07.23