小编Art*_*rti的帖子

什么是extern volatile指针

什么是extern volatile指针.

extern volatile uint32 *ptr;
Run Code Online (Sandbox Code Playgroud)

在这里,*ptr的行为是什么?这究竟意味着什么?

而且,什么时候应该使用?

我试图谷歌,但没有得到任何满意的答案,关于这个组合没有太多的信息.

c volatile

10
推荐指数
1
解决办法
2万
查看次数

为什么两种情况下的不同行为是第一 int i = 1,2,3; 和第二.int i; i = 1,2,3;

使用GCC编译器,在C程序中跟随两个运算符的情况,观察到不同的行为.

1.

 int i = 1,2,3;

 printf("%d",i);                     // this will give compile time error
Run Code Online (Sandbox Code Playgroud)

和,

2.

int i;

i = 1,2,3;

printf("%d",i);    // Its output will be 1.
Run Code Online (Sandbox Code Playgroud)

在第一种情况下,编译器给出了错误"错误:期望标识符或'('数字常量之前'.并且在第二种情况下,没有错误,输出是1.可以在这里解释两种情况下的编译器行为吗?编译器如何?解释这两个陈述?

提前感谢您的意见.

c c++ operators

5
推荐指数
1
解决办法
656
查看次数

为什么C++中的默认用户定义的析构函数会增加执行时间?

在我的项目中,我们有1个用户定义的默认析构函数,它是为了遵循项目的一些编码标准要求而编写的.这个析构函数的类被实例化了200多次,这增加了整体响应时间,当这个提到的析构函数被删除时,我观察到响应时间改善了28毫秒.任何人都可以解释为什么这个时间差异,虽然那些只是默认的析构函数,但由用户定义,无论如何将由编译器调用.

使用"用户定义的默认析构函数"我的意思是一个空的析构函数:

~Classname(){ };

什么都不做,但是为了满足项目的标准而被添加.

为了增加更多的清晰度,这个析构函数不属于以下类别:

1.声明为"虚拟"的教师.

2,静态和单体类的析构函数.

3.使用"new"关键字创建对象的类的析构函数.

4.使用'delete'关键字删除对象的类的析构函数.

c++ destructor

1
推荐指数
1
解决办法
323
查看次数

标签 统计

c ×2

c++ ×2

destructor ×1

operators ×1

volatile ×1