相关疑难解决方法(0)

是否可以使用"和","或"等而不是"&&","||"?

我习惯了C++中的andor关键字.我总是使用它们,打字它们对我来说既快又舒服.一旦我听说这些别名是非标准的,可能不适用于所有编译器.但我不确定,我真的不知道这是不是真的.
我们假设我给某人代码,编译时会有问题吗?
可以吗,当我用and,or而不是&&,||?或者这些关键字真的不标准吗?
PSI使用MinGW编译器.

c++ standards operators

24
推荐指数
3
解决办法
4550
查看次数

应该在c ++中使用"not,and,or not_eq .."

所以看起来像这些:http://www.cplusplus.com/reference/clibrary/ciso646/是c ++中的关键字.

我的问题是.这是c ++标准的一部分吗?

主编译器是否可以依赖此功能?我知道gcc确实支持这些关键字.

最后,也许这更像是一个偏好或风格问题,但使用关键字而不是标准运算符(!,!=,&& ...等)是否有任何优势?

c++ syntax

6
推荐指数
3
解决办法
1747
查看次数

"和"/"或"代替"&&"/"||" 在C++代码中 - 编译器功能还是程序员的错?

可能重复:
或者无效C++:为什么这段代码会编译?

你好.

我最近遇到了别人写的不寻常的C++代码:

bool operator != (Point p1, Point p2)
{
    return p1.X != p2.X or p1.Y != p2.Y or p1.Z != p2.Z;
};
Run Code Online (Sandbox Code Playgroud)

据我所知or,即使是宏,也没有在任何地方声明.and代码中也很少有.因此,项目不构建在VC2008 Express上.给我代码的人说作者一直在使用mingw编译器.

问题:这是一个非标准的编译器功能(我怀疑它),这是新的C++标准的一部分(我没有看过C++ 0x),或者这是程序员的问题(如果这个人搬家了)来自pascal,他可能一直在使用和/或代替&&/ ||因为习惯,或者因为他认为它更"可读".

c++

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

在定义概念时使用“and”而不是“&&”有什么好处?

我发现一些 CppCon 演讲者使用and而不是&&定义概念并用于&&“正常”布尔表达式,但我无法弄清楚这样做的好处。

我能找到的关于概念命名约定的唯一材料是P1851:snake_case 概念命名指南,但它对此只字未提。

谁能告诉我为什么?

例子:

template <typename T>
concept boolean_testable
    = std::convertible_to<T, bool>
      and requires(T&& t) {
            { !std::forward<T>(t) } -> std::convertible_to<bool>;
          };
Run Code Online (Sandbox Code Playgroud)

代替:

template <typename T>
concept boolean_testable
    = std::convertible_to<T, bool>
      && requires(T&& t) {
           { !std::forward<T>(t) } -> std::convertible_to<bool>;
         };
Run Code Online (Sandbox Code Playgroud)

&&虽然和之间的完全可替代性and引起了我的注意,但我仍然无法弄清楚为什么有些程序员故意选择and 仅在定义概念时使用。我注意到它们仍在其他上下文中使用&&(布尔表达式,T&&...)。我无法弄清楚他们从这种风格中得到了什么好处。

and我不是在问和之间的区别,而是在概念定义中使用而不是仅&&概念定义中使用的动机。据我所知,没有重复的问题。and&&

c++ naming-conventions concept c++20

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

标签 统计

c++ ×4

c++20 ×1

concept ×1

naming-conventions ×1

operators ×1

standards ×1

syntax ×1