使用const字符串声明字符串和字符串const之间的区别是什么

时间:2013-10-27 03:37:29

标签: c++

我正在网上浏览一些代码,我看到了这两个声明,

const std::string strFoo = "MyFoo";

std::string const strBar = "MyBar";

我对const关键字的不同位置感到困惑。究其目的是什么?

谢谢!

1 个答案:

答案 0 :(得分:4)

在这种情况下,它使没有区别

对于更复杂的声明,它可能会产生很大的不同。

你可以说const适用于左边的内容,如果没有,那么它适用于右边的内容。

例如,在指向int:

的指针上使用const限定符
const int* ptr1;        // (1.) pointer to const int
int const * ptr2;       // (2.) same as 1.
int* const ptr3;        // (3.) const pointer to int
const int* const ptr4;  // (4.) const pointer to const int
int const * const ptr4; // (5.) same as 4.

有关如何阅读复杂类型声明的更多信息,请参阅:C Right-Left Rule