gpt4 book ai didi

c++ - 接受 C++ 字符串和 C 风格字符串的通用类

转载 作者:太空宇宙 更新时间:2023-11-04 05:28:12 24 4
gpt4 key购买 nike

如你所知:C风格字符串是以“null”结尾的字符数组

C++ 风格的字符串是:

string s = "Some text";

因此,要同时接受 C++ 字符串和 C 样式字符串,我很确定我必须使用 C++ 模板。

我正在尝试编写一个类和一个方法来返回 C++ 或 C 风格字符串的字符串的第二个字符。我在正确的轨道上吗?

template <class T>
class mystring {
T pointer;

public:
mystring(T input) { pointer = input }
char getSecondLetter() {
T temp = pointer;
temp++;
return temp;
}
};

int main () {
mystring<I dont know what to put> myobject("HELLO");
cout << myobject.getSecondLetter();
return 0;
}

附注程序员是否总是使用“T”作为模板类数据类型?

最佳答案

不需要,C字符串隐式转换为std::string

char getSecondLetter( const std::string & s ) {
return s[1];
}

const char *c_str = "hello";
std::string str = "world";

getSecondLetter( c_str ); // e
getSecondLetter( str ); // o

关于c++ - 接受 C++ 字符串和 C 风格字符串的通用类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16116641/

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