c++ - 在 C++ 中,函数名称前的波浪号 "~"表示什么?

标签 c++

 template <class T>
 class Stack
 {
 public:
    Stack(int = 10) ; 
    ~Stack() { delete [] stackPtr ; }  //<--- What does the "~" signify?
    int push(const T&); 
    int pop(T&) ;  
    int isEmpty()const { return top == -1 ; } 
    int isFull() const { return top == size - 1 ; } 
 private:
    int size ;  
    int top ;  
    T* stackPtr ;  
 } ;

最佳答案

它是析构函数,它销毁实例,释放内存等等。

这是来自 ibm.com 的描述:

析构函数通常用于释放内存并在对象被销毁时对类对象及其类成员进行其他清理。当类对象超出范围或被显式删除时,将调用该类对象的析构函数。

https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_74/rzarg/cplr380.htm

关于c++ - 在 C++ 中,函数名称前的波浪号 "~"表示什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1395506/

相关文章:

c++ - Boost.Graph 如何合并两个顶点/契约(Contract)边

c++ - 为什么我的替代排序算法不起作用?

c++ - 从不同的架构加载 dylib

C++ "tapping"进入基类的虚函数

c++ - xcode中的对象字节对齐

c++ - 我如何实现可以传递vector和int *的函数?

c++ - Visual Studio : Inconsistency in method header

c++ - 使用 QIconEngine 和透明度自定义 QIcon

c++ - 为什么我的数组的最后一行填满了随机数?

c++ - 如何使用 APM 从保护模式关机?