將字串作為模板參數傳遞
在 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中文網其他相關文章!