小编iam*_*brj的帖子

C++:使用声明中的逗号分隔列表

为什么在 C++ 的 using 声明语句中使用逗号分隔列表是一种不好的做法?

例如

using std::cout;
using std::cin;
using std::endl;
Run Code Online (Sandbox Code Playgroud)

被认为比代码更好

using std::cout,std::cin,std::endl;
Run Code Online (Sandbox Code Playgroud)

如果代码包含逗号分隔的 using 声明列表,一些编译器(例如 gcc)甚至会发出警告。

当然,最好的做法是对标识符使用完全限定的名称。

c++ using using-declaration

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

为 ((unsigned int)0-1)>0 返回真

我遇到了一些 C++ 代码,就像

if(((unsigned int)0-1)>0)
{
//do something
}
Run Code Online (Sandbox Code Playgroud)

并且程序执行了 if 块中的语句。出于好奇,我在 c 中尝试了相同的方法,它也做了同样的事情。我的理解是,如果 if 条件中的表达式返回 bool 值 true,则会执行 if 块中的语句。这意味着 ((unsigned int)0-1)>0 必须返回真。为什么会这样?

c++ if-statement

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

标签 统计

c++ ×2

if-statement ×1

using ×1

using-declaration ×1