常量int和常量char*(为什么使用指针?) 我是C++初学者。下面的代码片段取自用于解析文本输入的程序 const int MAX_CHARS_PER_LINE = 512; const int MAX_TOKENS_PER_LINE = 20; const char* const DELIMITER = ",";

常量int和常量char*(为什么使用指针?) 我是C++初学者。下面的代码片段取自用于解析文本输入的程序 const int MAX_CHARS_PER_LINE = 512; const int MAX_TOKENS_PER_LINE = 20; const char* const DELIMITER = ",";,c++,pointers,constants,C++,Pointers,Constants,我找不到程序员使用的原因 常量指针 对于变量分隔符,因为他没有对其他变量使用常量指针。请澄清。512和20是int类型的常量。它们的值可以存储在int类型的对象(变量)中。不需要指针 像,“这样的字符串文字不是简单的标量值。它的类型是constchar[2],一个由两个chars组成的数组。(const表示只读。) 虽然数组和指针是非常不同的东西(并且不让任何人告诉你!),C和C++中的数组通常通过指针指向它们的元素来操作。因此,可以使用char*指针来遍历字符串并提供对其每个元素的访问 额外的

我找不到程序员使用的原因 常量指针
对于变量分隔符,因为他没有对其他变量使用常量指针。请澄清。

512
20
int
类型的常量。它们的值可以存储在
int
类型的对象(变量)中。不需要指针

,“
这样的字符串文字不是简单的标量值。它的类型是
constchar[2]
,一个由两个
char
s组成的数组。(
const
表示只读。)


<>虽然数组和指针是非常不同的东西(并且不让任何人告诉你!),C和C++中的数组通常通过指针指向它们的元素来操作。因此,可以使用
char*
指针来遍历字符串并提供对其每个元素的访问


额外的
常量
意味着指针本身无法修改。

您查看过使用常量的点吗?我怀疑某个地方使用的函数需要一个字符串(支持多个分隔符字符)。对于不想正确阅读此问题的人:OP询问为什么
const int
没有指针,而
const char
使用指针。我相当确定这是一个dup问题。我只是还没找到
const char*
是表示字符串的“旧”方式。您会注意到,如果该值是一个常规字符,那么它也会使用双引号而不是单引号初始化为字符串:
const char c=','
这个搜索应该会给你大量的阅读材料:“不要让任何人告诉你其他的事情!”——+1