分享方式:


Visual C++ 程式碼片段

在 Visual Studio 中,您可以使用代碼段將常用的程式代碼新增至 C++ 程式代碼檔案。 程式碼片段可以更快速、更輕鬆且更可靠地撰寫程式碼。

C++ 代碼段的完整清單

代碼段在 C++ 和 C# 中的運作方式大致相同,但預設代碼段集不同。 若要查看可用的 C++ 代碼段清單,請從 Visual Studio 功能表欄選取 [工具>代碼段管理員],或按 Ctrl+KB,然後從 [語言] 下拉功能表中選取 [Visual C++]。

展開 [Visual C++] 資料夾,以依字母順序查看所有 C++ 代碼段的名稱。 選取代碼段以查看代碼段的相關信息。 如需代碼段的詳細資訊,請參閱 代碼段

擴充程式碼片段和範圍陳述式程式碼片段

您可以在程式代碼中的特定位置插入 擴充 代碼段,或將選取的程式代碼括在周圍 加上 代碼段。

插入程式碼片段

若要插入 C++ 代碼段:

  1. 開啟 C++ .cpp.h 檔案,並將插入點放在檔案的某個位置。

  2. 執行下列其中一項動作:

    • 以滑鼠右鍵按兩下 ,然後從操作功能表中選取 [ 插入代碼段 ]。
    • 在 Visual Studio 選單欄上,選取 [編輯>IntelliSense>插入代碼段]。
    • Ctrl+KX
  3. 按兩下拉式清單中的 #if,或輸入 #if,然後按 EnterTab 鍵。下列程式代碼會在插入點新增:

    #if 0
    
    #endif // 0
    
  4. 0將取代為正確的條件。

以代碼段括住選取的程序代碼

若要以代碼段括住選取的程式代碼:

  1. 開啟 C++ .cpp.h 檔案,然後選取一些程序代碼。 在下列範例中,會選取這一行 #include "pch.h"

  2. 執行下列其中一項動作:

    • 以滑鼠右鍵按兩下 ,然後從操作功能表中選取 [環繞與 ]。
    • 在 Visual Studio 功能表欄上,選取 [編輯>IntelliSense>環繞]。
    • Ctrl+KS
  3. 按兩下拉式清單中的 #if,或輸入 #if,然後按 EnterTab 鍵。程式代碼會圍繞選取的行。

    #if 0
    #include "pch.h"  // or whatever line you had selected
    #endif // 0
    
  4. 0將取代為正確的條件。

C++ 代碼段使用方式

大部分 C++ 代碼段的名稱都是自我解釋的,但某些名稱可能會令人困惑。

Class、classi

代碼 class 段提供名為 MyClass的類別定義。 適當預設建構函式和解構函式的定義位於 類別之外。

class MyClass
{
public:
    MyClass();
    ~MyClass();

private:

};

MyClass::MyClass()
{
}

MyClass::~MyClass()
{
}

代碼 classi 段也提供名為 MyClass的類別定義,但預設建構函式和解構函式是在類別定義內定義。

class MyClass
{
public:
    MyClass()
    {
    }

    ~MyClass()
    {
    }

private:

};

For、forr、rfor

三個不同的 for 代碼段提供不同類型的 for 迴圈。

  • 代碼 rfor 段提供範圍 型 for 迴圈。 會優先使用此建構,而非索引式 for 迴圈。

    for (auto& i : v)
    {
    
    }
    
  • 代碼 for 段會提供迴圈 for ,其中條件是以 中的 size_t對象長度為基礎。

    for (size_t i = 0; i < length; i++)
    {
    
    }
    
  • 代碼 forr 段會提供反向 for 迴圈,其中條件是以整數中的 對象長度為基礎。

    for (int i = length - 1; i >= 0; i--)
    {
    
    }
    

解構函式程式碼片段 (~)

解構函式代碼段 ~ 會顯示不同內容中的不同行為。 如果您將此程式碼片段插入類別時,它會提供該類別的解構函式。

例如,如果您在名為 SomeClass的類別內插入解構函式代碼段,它會提供的 SomeClass解構函式。

class SomeClass {
    ~SomeClass()
    {

    }
};

如果您在類別外部插入解構函式代碼段,它會提供具有佔位元名稱的解構函式。

~TypeNamePlaceholder()
{

}