Summary
This episode highlights one of Jason's major pet peeves with Microsoft's Visual C++ compiler: its non-standard handling of non-const references to temporary objects. While the C++ standard explicitly prohibits binding a non-const reference to a temporary (rvalue), Visual C++ allows this behavior by default, only generating warnings at the highest warning level (level 4). This non-standard behavior can lead to portability issues when code developed on Visual C++ fails to compile on other standards-compliant compilers like GCC and Clang. The episode demonstrates this issue with a simple example and emphasizes the importance of using the highest warning levels on all compilers to catch such cross-platform compatibility problems.