gpt4 book ai didi

c++ - 将字符串文字作为类型参数传递给类模板

转载 作者:IT老高 更新时间:2023-10-28 12:31:30 29 4
gpt4 key购买 nike

我想声明一个类模板,其中模板参数之一采用字符串文字,例如my_class<"string"> .

谁能给我一些可编译的代码来声明一个简单的类模板?


注意:previous wording这个问题对于提问者实际上试图完成的事情相当模棱两可,并且可能应该因为不够清楚而被关闭。然而,从那以后,这个问题多次被称为规范的“字符串文字类型参数”问题。因此,它已被重新措辞以同意该前提。

最佳答案

可以有一个 const char* 非类型模板参数,并通过 传递一个 const char[] 变量static 链接,这与直接传递字符串文字并没有那么远。

#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();
}

http://coliru.stacked-crooked.com/a/64cd254136dd0272

关于c++ - 将字符串文字作为类型参数传递给类模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2033110/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com