2
  1. 大多数编译器实际上是如何处理 const 的?从技术上讲是什么意思?(实际上不)

当我说出的意思时,假设我有一个自定义类,其中包含一个容器作为成员字段,然后是一个通过引用值传递并将它们附加到该成员字段中的函数。

  1. 如果我有这个类的 const 实例化,常数会过滤掉吗?

  2. 如果我有一个非 const 容器的 const STL 迭代器(我的 sharedPointers 到我的自定义类的实例化),那么 const 到底是什么?我可以使用上述功能更改容器的内容吗?指向的数据会是可变的,但没有别的吗?

4

1 回答 1

0
  1. 此站点的主题外。

  2. 如果我有这个类的 const 实例化,常数会过滤掉吗? 是的。

  3. 如果我有一个非 const 容器的 const STL 迭代器。如果const iterator那么你不能增加或减少迭代器,但你可以使用它来修改它的引用。如果const_iterator那么你可以增加或减少它,但你不能用它来修改它的所指对象。在任何一种情况下,容器的其他非常量迭代器也可能存在,因此容器可能会被它们修改。

于 2016-05-04T02:19:53.893 回答