我正在调试一些代码,我遇到过这一行:
for (std::size_t j = M; j <= M; --j)
Run Code Online (Sandbox Code Playgroud)
(由我的老板写的,谁在度假.)
这看起来很奇怪.
它有什么作用?对我来说,它看起来像一个无限循环.
假设我有
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)或类似?自然地,在函数的实现中我需要长时间拼出它,所以我可以输入一些参数,但是如上所述写它会使我的头文件更清晰.
考虑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.
一些上下文:我正在解析一个具有account1和account2作为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.