我想要一个不做任何事情的声明,但可以在需要声明的地方使用.通过:http://docs.python.org/release/2.5.2/ref/pass.html
编辑:刚刚看到:如何在C/C++中执行no-op?
#define pass (void)0
Run Code Online (Sandbox Code Playgroud)
解决了我的问题.谢谢!
Pra*_*mar 29
分号或空括号应该适合你
例如Python的
while some_condition(): # presumably one that eventually turns false
pass
Run Code Online (Sandbox Code Playgroud)
可以转换为以下C++
while (/* some condition */)
;
Run Code Online (Sandbox Code Playgroud)
要么
while (/* some condition */) {}
Run Code Online (Sandbox Code Playgroud)
也许对于三元运算符案例,您可以这样做:
x > y ? do_something() : true;
Run Code Online (Sandbox Code Playgroud)
不,您没有pass或等效的关键字.但您可以编写没有任何此类关键字的等效代码.
def f():
pass
Run Code Online (Sandbox Code Playgroud)
变
void f() {}
Run Code Online (Sandbox Code Playgroud)
和
class C:
pass
Run Code Online (Sandbox Code Playgroud)
变
class C {};
Run Code Online (Sandbox Code Playgroud)
在不同的上下文中,不同的语法可能有用.例如,
class MyError(Exception):
pass
Run Code Online (Sandbox Code Playgroud)
变
class MyError : public std::exception
{
using std::exception::exception; //inherits constructor!
};
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,在此上下文中,您必须编写using以从基类继承构造函数.在Python pass中,在类似的上下文中做类似的事情.
希望有所帮助.
正如评论中所述,这是不支持的,因为它没有意义。条件运算符旨在评估两个操作数之一。二。不是一个。
仅在其中一种情况下滥用运算符执行某些有条件的操作是不行的。事实上,最好两个操作数都没有任何副作用。这不是“做某事”的构造,而是“给我两件事之一”的构造。
在这方面,如果 Python 支持你说它支持的东西,那么C++ 不支持的地方就会被破坏。碰巧的是,Python 实际上也不支持它,毕竟。
写一个if声明,而不是:
if (x > y) {
do_something();
}
else {
/* Unimplemented at the moment */
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
29375 次 |
| 最近记录: |