我们正在学习面向对象的c ++类中的const
关键字。我们的教授说他故意过分帮助我们学习使用const
关键字的所有可能方法。
在我们的任务中,他说:
您的构造函数参数应该是常量的常量指针 常量指针数组
有人可以告诉我这个参数列表的示例是什么样的,并解释每个const的作用?我相信原型看起来像这样:
Square(const char* const []);
任何帮助都会非常感激。
答案 0 :(得分:3)
让我们看看:
一系列指针:void * array[10];
常量指针数组,与“常量数组”相同:void * const array[10]
。
指向上述内容的指针:void * const (*pa)[10] = &array;
指向(2)的常量指针:void * const (* const pa)[10] = &array;
上面的一个版本,其中原始数组由指向const的指针组成:
void const * array2[15];
void const * const (* const pa)[15] = &array2;
所以这是你的构造函数签名,对于任何底层类型和数组大小:
struct Foo
{
template <typename T, unsigned int N>
Foo(T const * const (* const pa)[N]);
// ...
};
关于什么是有用的:几乎没有任何东西。但理解这一点并不会有害。
答案 1 :(得分:-1)
用C ++编写时,阅读起来要容易得多,而不是C语言。
const std::array<const T, N>* const