Item 14: Declare functions noexcept if they won’t emit exceptions. 읽어봐라
익명(chartman)2025-07-03 23:51
답글
@ㅇㅇ
너 예전부터 생각하지만 한글 못 읽냐?
예외 던지지 말게 하라고 하는거, 그거 무시하는게 아니고, 그게 언어적 차원서 정립될때랑 안될때랑 차이가 있고
그리고 애초에 마이어 책이 모던 C++11 기준임. 넌 98 기준이라매...;
ㅆㅇㅆ(124.216)2025-07-03 23:55
답글
안읽어보고 엉뚱한 소리하노 또
익명(chartman)2025-07-03 23:57
답글
@ㅇㅇ
아니 맞다니까 애초에 이펙티브 CPP가 모던 11기준임. 저거는 예외던지지 말게고 그다음에 어떻게 하느냐를 보여주는건데 너야말로 안 읽은거잖아
ㅆㅇㅆ(124.216)2025-07-03 23:58
답글
@ㅇㅇ
애초에 모던 CPP 나눈거 자체가 RAII 대부분 안지켜서 나온것도 맞고, 스콧마이어 책에서도 CPP 모던이라고 붙은게 모던 CPP기준인데 뭔 딴소리를 자꾸 해
ㅆㅇㅆ(124.216)2025-07-04 00:00
In C++98, the transfer was accomplished by copying each element from the old
memory to the new memory, then destroying the objects in the old memory. This
approach enabled push_back to offer the strong exception safety guarantee:
익명(chartman)2025-07-04 00:00
답글
In C++11, a natural optimization would be to replace the copying of std::vector
elements with moves. Unfortunately, doing this runs the risk of violating
push_back’s exception safety guarantee.
익명(chartman)2025-07-04 00:00
답글
@ㅇㅇ
봐라 C++11 에서 자연스러운 최적화 방법으로 복사대신 이동 연산으로 할 경우 예외 안전 보장이 깨질 수 있지만, noexcept를 명시적으로 선언해줘야 STL MOVE 쓰니까 그렇게 쓰란거야 너 진짜 책 전부 안 읽고 문맥만 짜를래?
ㅆㅇㅆ(124.216)2025-07-04 00:02
답글
@ㅇㅇ
noexfcept를 명시적 선언 안해줄때, 예외 안전을 위해서 98을 쓴다는거지. 그게 아닌데 뭔 소리를 하는건지 모르겠네 진짜. 애초부터 noexcept 명시적으로 쓰란거야
ㅆㅇㅆ(124.216)2025-07-04 00:03
답글
98은 raii가 안안전하다며 ㅋ 말 슬슬 바꾸고 싶제?
익명(chartman)2025-07-04 00:04
답글
@ㅇㅇ
너 책 안읽고 개소리할래 자꾸? C ++ 98이 더 느려서 C++11 식으로 짜란거임 저게
ㅆㅇㅆ(124.216)2025-07-04 00:04
답글
@ㅇㅇ
안 안전하다니까.
ㅆㅇㅆ(124.216)2025-07-04 00:04
답글
@ㅇㅇ
명시적 보장이 안되고 저것도 RAII 철학했을때 부족함
ㅆㅇㅆ(124.216)2025-07-04 00:05
답글
@ㅇㅇ
noexcept 명시 하되, 어쩔 수 없이 안쓰면 C++98식으로 하지만, 불완전하다 한거 마이어 책에서 나온거임
근데 넌 읽어봤냐?
읽었지; 읽었으니까 CPP로 이야기하지
대학원 연구실에 있을때 강제로 읽은 책임
디시에서 뻘댓글이나 쓸 시간에 다시 한번 읽어보길 추천한다
@ㅇㅇ 뻘댓글쓴게 어딨어 내가 ㅡㅡ.
@ㅇㅇ 애초에 내가 너랑 말하면서 가져왔던 내용이 메이어 책에서 가져온 부분도 있는데
@ㅇㅇ 너야말로 다시 읽어 임마
Item 14: Declare functions noexcept if they won’t emit exceptions. 읽어봐라
@ㅇㅇ 너 예전부터 생각하지만 한글 못 읽냐? 예외 던지지 말게 하라고 하는거, 그거 무시하는게 아니고, 그게 언어적 차원서 정립될때랑 안될때랑 차이가 있고 그리고 애초에 마이어 책이 모던 C++11 기준임. 넌 98 기준이라매...;
안읽어보고 엉뚱한 소리하노 또
@ㅇㅇ 아니 맞다니까 애초에 이펙티브 CPP가 모던 11기준임. 저거는 예외던지지 말게고 그다음에 어떻게 하느냐를 보여주는건데 너야말로 안 읽은거잖아
@ㅇㅇ 애초에 모던 CPP 나눈거 자체가 RAII 대부분 안지켜서 나온것도 맞고, 스콧마이어 책에서도 CPP 모던이라고 붙은게 모던 CPP기준인데 뭔 딴소리를 자꾸 해
In C++98, the transfer was accomplished by copying each element from the old memory to the new memory, then destroying the objects in the old memory. This approach enabled push_back to offer the strong exception safety guarantee:
In C++11, a natural optimization would be to replace the copying of std::vector elements with moves. Unfortunately, doing this runs the risk of violating push_back’s exception safety guarantee.
@ㅇㅇ 봐라 C++11 에서 자연스러운 최적화 방법으로 복사대신 이동 연산으로 할 경우 예외 안전 보장이 깨질 수 있지만, noexcept를 명시적으로 선언해줘야 STL MOVE 쓰니까 그렇게 쓰란거야 너 진짜 책 전부 안 읽고 문맥만 짜를래?
@ㅇㅇ noexfcept를 명시적 선언 안해줄때, 예외 안전을 위해서 98을 쓴다는거지. 그게 아닌데 뭔 소리를 하는건지 모르겠네 진짜. 애초부터 noexcept 명시적으로 쓰란거야
98은 raii가 안안전하다며 ㅋ 말 슬슬 바꾸고 싶제?
@ㅇㅇ 너 책 안읽고 개소리할래 자꾸? C ++ 98이 더 느려서 C++11 식으로 짜란거임 저게
@ㅇㅇ 안 안전하다니까.
@ㅇㅇ 명시적 보장이 안되고 저것도 RAII 철학했을때 부족함
@ㅇㅇ noexcept 명시 하되, 어쩔 수 없이 안쓰면 C++98식으로 하지만, 불완전하다 한거 마이어 책에서 나온거임
진심으로 책을 안 읽노