c++ - 下面几行中 const 的用法是什么,如果我们不使用这些量怎么办?

标签 c++ templates constants

<分区>

//Array-based Class ‘LinearList’
template <class T>
class LinearList 
{
public: 
  LinearList(int MaxListSize = 10);
  ~LinearList() { delete [] element; }

  bool isEmpty() const { return length == 0; } //1
  int Length() const { return length; } //2
  bool Find(int k, T& x) const; //3
  int Search(const T& x) const; //4
  LinearList<T>& Delete(int k, T& x);
  LinearList<T>& Insert(int k, const T& x); //5
  void Output(ostream& out) const; //6

private: 
  int length;
  int MaxSize;
  T *element;
};

最佳答案

方法声明末尾的常量(即 void Foo() const)表示该方法不会改变对象的状态。

当参数被标记为 const 时,这意味着该方法不能更改参数。例如,void DoSomething(const T &t) 声明 DoSomething 只能调用对象上声明为 const 的方法。

关于c++ - 下面几行中 const 的用法是什么,如果我们不使用这些量怎么办?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37611091/

相关文章:

c++ - 请求从 'std::string' 到非标量类型的转换

用于递归继承的具有类型和非类型参数混合的 C++ 可变参数模板

web-applications - 将常量文件加载到应用程序-Golang

c++ - 在数组中使用 const char * 读取顺序文件

c++ - Linux 上是否有等效的 .def 文件来控制共享库中导出的函数名称?

c++ - 如何构造通过 std::allocator::allocate() 分配的对象?

c++ - 是否有可能以简单的方式统一使用 c++/lua 进行编程?

c++ - 静态 constexpr 变量与函数

c++ - 可以推断左值引用非类型模板参数吗?

java - MongoDB Java 驱动程序中的更新运算符常量在哪里?