C++;无限制的字符 我对C语言相当精通,但我认为学习C++也是个好主意。我唯一搞不懂的是chars。我知道你可以使用字符串库,但我也想找出字符
我知道你可以设置一个字符,限制如下:C++;无限制的字符 我对C语言相当精通,但我认为学习C++也是个好主意。我唯一搞不懂的是chars。我知道你可以使用字符串库,但我也想找出字符,c++,char,C++,Char,我知道你可以设置一个字符,限制如下: #include <iostream> using namespace std; int main() { char c[128] = "limited to 128"; cout << c << endl; system("pause"); return 0; } #包括 使用名称空间std; int main() { 字符c[128]=“限制为128”; 不能你可以使用字符的向量你不能没有限
#include <iostream>
using namespace std;
int main()
{
char c[128] = "limited to 128";
cout << c << endl;
system("pause");
return 0;
}
#包括
使用名称空间std;
int main()
{
字符c[128]=“限制为128”;
不能你可以使用字符的向量
你不能没有限制地拥有一个数组。数组占用内存空间,遗憾的是,没有无限内存这回事
基本上,您必须创建一个具有特定大小的数组,并编写逻辑,以便在需要更多空间时扩展数组的大小(并且可能在需要更少空间时缩小数组)
这就是std::string
和std::vector
为您所做的。std::string是字符向量的一个很好的实现:)数据结构需要为其分配内存
某些数据结构(如字符串或字符向量)在其类中具有内部逻辑,可根据需要动态分配内存
数组(来自C)不是这样的-您需要手动为它们分配内存,或者像您的示例那样通过静态方式(char C[128]),或者在运行时通过malloc()和company动态地分配内存。当然,正确地进行动态分配/重新分配不是很简单,为什么要在已经有类(例如string)的情况下费事呢这对您来说是正确的吗?:)C/C++char
数组与char*
几乎相同。相同的代码块可以重写为:
int main()
{
char* c = "limited to 128";
cout << c << endl;
system("pause");
return 0;
}
或
你的意思是一个运行时间限制的数组。<代码> char < /C>只是一个数据类型。在任何情况下,确保你正在从一本书中学习C++。从其他语言中使用知识或者使用在线资源不会让你在任何地方得到。)(不假设你这样做,以防万一。)你可以……但我猜这并不符合Lienau所寻找的精神,因为这会打断代码的第7行。@Mac:他不想使用std::string或指针,但仍然希望无限制地使用裸字符。vector
有什么问题吗?我认为手工分配没有任何意义。没有ng,我的印象是它是OP的明显替代品,因此是裸体版。
char* str = malloc(sieof(char) * requiredlength); //C-compatible
char* str = new char[requiredlength];