次のコードは、定義済みの動作または未定義の動作を生成しますか? 私は自分の VC++ でそれを試してみたところ、1 つのことがわかりましたが、それが単なる偶然なのか、それとも C++ 標準で義務付けられているのかを知りたいと思っています。
#include <iostream>
class TestClass {
public:
char testChar;
double testDouble;
int testInt;
};
int main(int argc, char** argv) {
TestClass s = {412.1, 52};
std::cout << s.testChar + s.testDouble + s.testInt << std::endl;
}