传递字符指针作为模板类型
pass character pointer as template type
#include<iostream>
using namespace std;
template<class t1,class t2>
class myclass
{
t1 i;
t2 j;
public :
myclass(t1 x,t2 y)
{
i = x;
j = y;
}
void show()
{
cout<<"i = "<<i<<" j = "<<j<<endl;
}
};
main()
{
myclass<int,double> ob(10,15.2);
myclass<char,char*>ob1('x',"Template");
ob.show();
ob1.show();
}
我想把第二个模板对象的类型设置为可以在构造函数中传递字符数组的类型,它应该是什么类型?
请参见-我使用GNU GCC编译器集中的g++编译器来编译我的c++代码。
字符串字面值的类型为const char(&)[N]
†,它可以衰变成const char*
:
myclass<char,const char*>ob1('x',"Template");
同时,您的main
应该返回int
同时,我觉得有义务重复NathanOliver和teroi在评论中所说的,你应该考虑使用std::string
。
†它的类型被认为是"N
const char数组",其中N
是字面值的长度,参见§2.14.5.8 [lex.string]。(&)
实际上是指引用。字符串字面值在内存中有位置,重用相同的字面值将指向相同的内存地址(在大多数编译器上,为了减少二进制文件的大小)。
相关文章:
- 有没有办法通过使用十进制 ASCII 代码自动类型扣除来获取字符?
- 字符类型转换不兼容
- 将超出范围的整数分配给有符号字符类型
- 需要帮助在 c++ 中将字符串转换为字符 ----错误 "const char *" 类型的值不能用于初始化 "char" 类型的实体
- 当我输入字符类型的数字时,为什么我无法获得整数?
- 如何从文本文件中读取数值,直到遇到字符类型?
- 如何获取C++字符数据类型的地址
- 如何解决一元"*"(有"字符")错误的无效类型参数?
- 错误:请求从"常量字符 [5]"转换为非标量类型"字符串"
- 可视化 如何在C++中将字符数组转换为 FILE 类型
- 使用wchar_t更改字符的类型不像L
- 结构 init:字符**类型的标量初始值设定项两边的大括号
- 为 Sql 服务器实现 odbc 包装器.将数据库数据读取为字符或要求驱动程序将数据转换为 C 类型
- 将空格作为单字符数据类型的输入?
- 有没有办法将字符类型转换为整数?
- C++ - 使用结构数据类型将单词中的单个小写字符更改为大写,反之亦然
- if(双精度类型 == 字符类型)
- 在结构数据类型中更改每个字符的 ASCII 值
- 如何将二维数组类型字符(字符串)作为函数参数传递?
- C搜索字符串如果类型字符,int类型,操作符类型