小编Mic*_*ock的帖子

一个'for'循环似乎实际上是无限的

我正在调试一些代码,我遇到过这一行:

for (std::size_t j = M; j <= M; --j)
Run Code Online (Sandbox Code Playgroud)

(由我的老板写的,谁在度假.)

这看起来很奇怪.

它有什么作用?对我来说,它看起来像一个无限循环.

c++

82
推荐指数
2
解决办法
5195
查看次数

使用std :: function中的函数类型来声明该类型的多个函数

假设我有

typedef std::function<
    double(
        int,
        long
    )
> FooType;
Run Code Online (Sandbox Code Playgroud)

我想为一系列函数声明函数原型,我可以插入到std::function这种类型的函数中.我知道我可以写

double foo1(int, long);
double foo2(int, long);
Run Code Online (Sandbox Code Playgroud)

等,但有什么方法可以FooType在声明函数原型时以某种方式使用?就像是

FooType::type foo1, foo2;

也许我可能不得不使用(*foo1)或类似?自然地,在函数的实现中我需要长时间拼出它,所以我可以输入一些参数,但是如上所述写它会使我的头文件更清晰.

c++ c++11

15
推荐指数
2
解决办法
1783
查看次数

将矢量分配给单个元素

考虑std::vector<T>某种类型T.我收到一个指向这种类型的指针到函数中,也是一个实例T; t说.

我的功能看起来像这样:

void bar(std::vector<T>* foo, const T& t)
{
    foo->clear();
    foo->push_back(t);
}
Run Code Online (Sandbox Code Playgroud)

有没有办法在一个语句中编写函数体?*foo = t;由于不存在适当的赋值运算符而无法工作.我也在考虑使用

foo->assign(&t, &t + 1);
Run Code Online (Sandbox Code Playgroud)

但那似乎很顽皮.

我正在使用C++ 11.

c++ stdvector c++11

4
推荐指数
1
解决办法
168
查看次数

打开一对`int`s

一些上下文:我正在解析一个具有account1account2作为int类型的会计分类帐.每个都是[0,99999]范围内的数字.我有很多组合需要考虑.

理想情况下,我想使用类似的东西

switch (account1, account2){
    case (1,1):
        /*account1 is 1, account2 is 1*/
    case (2,1):
        /*account1 is 2, account2 is 1*/
}
Run Code Online (Sandbox Code Playgroud)

等等.(我只需要考虑大约20种可能的组合).

有没有办法在Java中实现这一目标?

我已经考虑过这个问题在java中存储数字对

并且可以建立一个IntPair班级.也许如果我定义bool equals那么我可以switch在一个实例上,以类似的方式你可以打开java.lang.String.

java switch-statement

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

标签 统计

c++ ×3

c++11 ×2

java ×1

stdvector ×1

switch-statement ×1