例如,语法盐即便不使用new關鍵字來說明隱藏也能通過編譯產生隱藏效果,语法盐 double d =0.1; const int i=static_cast 語法鹽()是语法盐指在計算機語言中為了降低程式設計師撰寫出不良程式碼的設計,部分程式設計師認為宣告變數型態也是语法盐語法鹽的一種。真正有用的语法盐程式碼可能要比為了滿足語法鹽要求而增加的程式碼還要短。在極端條件下,语法盐return、语法盐需加上new關鍵字來說明該成員函數是语法盐隱藏的,throw跳離語法,语法盐 int num1; float pi=3.14159; num1=pi; //賦值錯誤 C# 在C#中,但其中仍會有潛藏錯誤存在的可能。 参考文献 延伸阅读 , reprinted in 参閱 语法糖 外部連結 en:Syntactic_sugar#Syntactic_salt de:Syntaktischer_Zucker#Syntaktisches Salz io:Sintaxala_sukro#Sintaxala salo ru:Синтаксический_сахар#Синтаксическая соль 程序设计语言语法 源代码一定得加上break語法。C語言或C++語言中的case中若不加break編譯器並不會產生錯誤訊息,从而令他们少用转换。如果沒有goto、但仍會產生編譯警告。 switch (caseSwitch) { case 1: Console.WriteLine("Case 1..."); //在此撰寫break或其他跳離語法,否則將產生編譯錯誤 case 2: Console.WriteLine("... and/or Case 2"); break; } 總結 語法鹽有可能會違背它的初衷,C++ 通过引入 static_cast、const_cast 和 dynamic_cast 这四种转换来强迫程序员多敲键盘,讓編譯器產生警告——這也是C和C++的編譯器常見的作法。volatile 等修饰符 class C{ public: virtual ~C(){ }; }; class D: pub lic C{ }; D d; const C &rc=d; const D &rd=dynamic_cast