是否可以编写自己的条件语句或重载当前的条件语句?(就像 if 短手 - ?
)
我做了一些研究,找不到任何东西。我有一些想法:
do
{
//Run Application
}if(...)//Only If variables are initialised
如果这是可能的,我将如何在 C++ 中这样做?
是否可以编写自己的条件语句或重载当前的条件语句?(就像 if 短手 - ?
)
我做了一些研究,找不到任何东西。我有一些想法:
do
{
//Run Application
}if(...)//Only If variables are initialised
如果这是可能的,我将如何在 C++ 中这样做?
do
{
//Run Application
}if(...)//Only If variables are initialised
将转化为
if ( condition )
{
//run application
}
那么为什么不这样做呢?
不可能创建新的运算符,也不可能重载三元运算符?:
。
你可以乱用预处理器,但最终得到的代码比只使用常规的if
.
#define RUNIF(condition, statement) \
if ( condition ) \
{ \
statement(); \
}
并称之为:
RUNIF(condition, RunApplication())
但就个人而言,我不想在生产代码中看到这一点。
在纯 C++ 中,您只能重载现有的运算符,而不能创建新的运算符。
也就是说,没有什么能阻止您使用预处理器或自定义预处理器(就像 Qt 一样)。
您可以在此处找到可重载运算符的列表。所以你可以重载条件如&&
and ||
(虽然不推荐),但不是?:
其他关键字如do
//不可重载while
,if
所以不能写
do {
...
} if()
以一种可编译的方式(无预处理器宏)
但你可以这样做:
if(...) {
while(true) {
...
}
}
注意:没有重载,只是简单的代码重组
在您放置的地方,if()
您可以使用while
并应用条件 - 就像在 plain中一样if
,例如:
do
{
Object x = getObject();
}while(x != null && x.getVal() > 12)