我最近嘗試運行在ideone.com ...爲什麼ideone.com這樣做?
#include <iostream>
#include <string>
using namespace std;
int getVal(string name)
{
if (name == "Devashish") return 0;
return 1;
}
int main()
{
cout << 5/getVal("Devashish");
return 0;
}
有趣的是這個代碼,這個代碼沒有拋出任何異常,並在輸出打印5。該代碼被有意寫入以產生異常。這裏是ideone鏈接成功編譯和執行bug的代碼:http://ideone.com/ogDzDU
當我試圖在Visual Studio上執行相同的代碼時,我得到一個異常(這是預期的)。只是好奇。爲什麼ideone表現如此?這是編譯器或其他程序中的錯誤嗎?
https://blogs.msdn.microsoft.com/oldnewthing/20140627-00/?p=633 –
Visual Studio和一個更多的在線工具提供了異常,所以我認爲它會引發異常。即使不是這樣,ideone是否給出了預期的? –
*「ideone給予什麼'期望?」*未定義的行爲是未定義的,因此任何結果都可以稱爲「按預期」。 –