首頁 > 後端開發 > C++ > 如何在 C 中將字串文字作為模板參數傳遞?

如何在 C 中將字串文字作為模板參數傳遞?

Susan Sarandon
發布: 2024-11-29 12:20:10
原創
222 人瀏覽過

How Can I Pass String Literals as Template Arguments in C  ?

將字串作為模板參數傳遞

在 C 中,定義類別模板時,也可以指定非類型參數。一個常見的用例涉及將字串文字作為此類參數傳遞。以下是如何實現這一點:

雖然不可能直接將字串文字作為非類型模板參數傳遞,但您可以利用const char* 參數並透過靜態連結傳遞const char[] 變數.

#include <iostream>

template<const char *str>
struct Cts {
    void p() { std::cout << str; }
};

static const char testStr[] = "Hello world!";
int main() {
    Cts<testStr> o;
    o.p();
}
登入後複製

這裡,Cts 模板有一個const char* 類型的非類型參數str。我們定義一個 const char[] 類型的靜態變數 testStr 並將其傳遞給 Cts

這種方法有效地模仿了將字串文字作為模板參數傳遞的行為,並允許您創建類別模板對特定字串值進行操作。

以上是如何在 C 中將字串文字作為模板參數傳遞?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板