小编den*_*tic的帖子

放置"!" 在条件声明之前

例如:

while (! ( (planet == "Mercury") || (planet == "Pluto") ) )
{
     <body>;
}
Run Code Online (Sandbox Code Playgroud)

上述内容与以下内容相同:

while ( (planet != "Mercury") || (planet != "Pluto") )
{
     <body>;
}
Run Code Online (Sandbox Code Playgroud)

如果不是,那么在条件语句之前放置NOT操作是什么意思,如第一个代码块所示?

c++ conditional-statements

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

如何在不中断的情况下提前结束循环

for (int att = 1; att < 11; att++)
{
     <body>;
     //break will completely finish running the program
}
Run Code Online (Sandbox Code Playgroud)

我正在制作一个CodeBreaker(Mastermind)游戏,我遇到的问题是在一个循环结束时比它需要的时间少于11,然后将循环设置回att = 1的初始化状态.

att代表"尝试".用户可以猜测随机生成的代码最多10次.一旦用户在少于10次尝试中猜到正确的代码,我想提示用户再次播放并生成新的随机代码.但是上面显示的循环仍在运行.

如何尽早结束循环,但仍继续运行程序?程序的大部分取决于这一个循环,因此break将完全阻止它运行.

c++ for-loop

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

error:使用find_if时,expression必须是可修改的左值

我有两个主要包含字符串的类向量,我试图跟踪两个向量之间匹配的次数.我int在两个公共课程之一(另一个职能所必需的)中保留了一个计数器.但是,std::find_if似乎不允许我修改或分配此计数器变量.

以下是std::find_if搜索算法:

for (Vector1& v1 : vector1) {
    auto res = find_if(vector2.begin(), vector2.end(),
        [=](Vector2 v2) {
            if (v2.code == v1.code) {
                v1.counter++; // <-- where the error occurs
                return true;
            }
            else
                return false;
        }
    );
}
Run Code Online (Sandbox Code Playgroud)

我似乎无法弄清楚为什么会这样; 我猜测find_if算法的第三个参数是一个const值.但那不应该影响我vector1,对吧?

我使用嵌套的远程for循环,它完美地工作.但是,我想尝试使用这个find_if算法......

c++ lambda

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

标签 统计

c++ ×3

conditional-statements ×1

for-loop ×1

lambda ×1