language-specifications

    4熱度

    1回答

    考慮下面的代碼: int[] r = null; r[0] = 1 % 0; 我本來期望這扔NullPointerException:根據JLS Sec 15.7.1:二元運算 左手操作數出現之前的任何全面評估評估右側操作數的一部分。 =是一個二進制運算符(在JLS Sec 15.2所示 - JLS二段15.26描述賦值運算符),和完全評估左邊的操作數將導致NullPointerExcept

    1熱度

    3回答

    我已閱讀在c# language specification: 源文件通常具有與文件系統中的文件一到一一對應,但這種通信不是必需的 這究竟意味着什麼?

    1熱度

    1回答

    下面編譯運行的C++模板等價和按預期執行: #include <cstdlib> #include <cstring> #include <iostream> #include <type_traits> class Freaky { public: template< typename UNSIGNED_TYPE, typename std::ena

    12熱度

    1回答

    根據「C#語言規範5.0版」中的「10.12靜態構造函數」一節,靜態構造函數可以標記爲「extern」修飾符,在這種情況下,它被稱爲外部靜態構造函數。 普通(非外部)靜態構造函數是衆所周知的。它們用於初始化靜態字段和屬性。 外部靜態方法通常用於通過P/Invoke調用本地函數。 而且我也知道相當深奧的extern構造函數(另請參閱this question)。例如,String類有幾個這樣的dec

    3熱度

    2回答

    考慮下面的代碼: import java.util.Calendar; class Demo { class Calendar {} public static void main (String[] args) { // System.out.println(Calendar.DAY_OF_WEEK); // Would be an error.

    3熱度

    1回答

    在Sean Parent's talk Goals for Better Coding - implement Complete Types在44:10-44:50肖恩說事的 的效果。如果我把這個[類與複製賦值運算符,該值接受其參數 參數,並且還具有移動構造函數]作爲另一個類的成員 ,則其他類將不會獲得默認移動 構造函數,因爲spec中的語言不會說「如果它是 移動可構造「它說」有一個移動構造函數與

    1熱度

    1回答

    我試圖寫一個小SVG路徑分析器/規格化,得到了與規範的最後一個問題: 據我瞭解大多數命令支持額外的隱含命令,當他們這樣做,並處於相對模式,「當前點」將在最後一個隱式命令後更新,而不是在它們之間。 但「moveTo」命令是特殊的,並允許隱式的「lineTo」命令。雖然「lineTo」命令添加它的自我只會更新最後一個隱含的命令後,「當前點」: 繪製從當前點到給定線(X,Y)座標 成爲新的當前點。 L(

    1熱度

    1回答

    下面是代碼的示例: public List(int capacity = defaultCapacity) { items = new T[capacity]; } 在C# 5 Language Specification Section 1.6.7寫入: 實例構造可以被重載。例如,列表 類聲明瞭兩個實例構造函數,其中一個沒有參數,另一個接受int參數。 但編譯IL此代碼不包含2個

    2熱度

    2回答

    我記得我曾經是能夠做到這一點,必須按預期工作變量名: class foobar { public: foobar(int x, int y) { x = x; //the variables x, y belonging to the class got correctly initialized y = y; } private:

    12熱度

    2回答

    在幾年前由C程序員實現的工作中,我偶然發現了一箇舊的Java代碼,我們不禁要開始討論,無論代碼是否 - 即使編譯和工作 - 實際上都是有效的Java代碼。 final Object o = Boolean.TRUE; boolean b = (boolean) o; 這實質上是有問題的代碼。正如你所看到的,從Object到原始布爾值不是很好的轉換,這不應該是可能的,但是由於一些隱含的裝箱魔法