原始类型作为c ++中的对象

anu*_*g86 21 c++

我遇到了以下代码,我无法理解它的含义:

typedef int INT; 
5 .INT::~INT();
Run Code Online (Sandbox Code Playgroud)

注意:数字5和小数之间有一个空格.

问题: 1.有人可以解释上面两条线的确切含义吗?2.如果没有typedef,为什么它不起作用?它背后的任何原因?5 .int::~int()抛出错误.

Che*_*Alf 16

.INT::~INT()是一个伪析构函数调用,对模板化代码很有用.

请注意,如果没有该typedef类型,则无法使用它.


Standardese:

C++03§5.2.4"伪析构函数调用":
  1. 在点或箭头运算符后使用伪析构函数名称表示由type-name命名的非类型类型的析构函数.结果只能用作函数调用运算符的操作数,并且这种调用的结果具有类型.唯一的效果是在点或箭头之前评估后缀表达式..->()void

  • 但是在给定的例子中它是毫无意义的,对吧?你能详细说明它可能意味着什么吗? (2认同)
  • 这只是一个无操作."int"没有清理. (2认同)