4 ms·
For long applications you get into he realm of tool chain bugs with C++. C compilers are more reliable. If you write C-style C++, which parts of libstdc++ can
by rlkxx 6y ago
For long applications you get into he realm of tool chain bugs with C++. C compilers are more reliable.
If you write C-style C++, which parts of libstdc++ can you safely use without exceptions?
- netheril96 6y agoGoogle writes a lot of C++ code, disables exceptions entirely, and it does not shy away from STL at all.
- waltersx 6y agoThen they don't care about applications being terminated in case of std::bad_alloc and similar. The crucial applications they use are written by others (like the Linux kernel). Also, having seen the output of several Googlers, I think their code quality is overrated.
- pjmlp 6y agoauto ptr = new (std::nothrow) ...... if (ptr != nullptr) { //........ } Regarding STL, allocators with similar behavior can be provided.
- pansa2 6y ago> Then they don't care about applications being terminated in case of std::bad_alloc and similar. No, they don't: https://youtu.be/NOCElcMcFik?t=2304 https://youtu.be/NOCElcMcFik?t=2304
- pansa2 6y ago> which parts of libstdc++ can you safely use without exceptions? Almost all of it, as long as you're happy to abort on memory allocation failure - which, according to the article, libvirt is now willing to do. In fact for me, that's one of the main questions to ask when deciding between C and C++ for a project. Is it OK to abort on allocation failure? If so, use C++ (without using exceptions). If not, use C.