將字符串文字作為非類型模板參數傳遞
問題陳述:
你可以嗎使用接受字串文字的非類型模板參數定義類模板,例如my_class?
解決方案:
雖然不可能直接將字串文字作為非類型模板參數傳遞,但您可以實現透過聲明const char* 參數並向其傳遞帶有static 的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(); }
說明:
在此程式碼中,範本參數str 是一個const char*,它可以指向字串文字或字串變數。變數 teststr 被宣告為帶有字串「Hello world!」的 static const char[]。透過傳遞 teststr 作為模板參數,您可以有效地存取類別模板中的字串文字。
以上是可以將字串文字當作非型別模板參數傳遞嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!