小编Rac*_*hel的帖子

Thread.sleep与TimeUnit.SECONDS.sleep

如果我打算让一个Java线程进入睡眠状态,是否有理由更喜欢这些形式之一?

Thread.sleep(x)
Run Code Online (Sandbox Code Playgroud)

要么

TimeUnit.SECONDS.sleep(y)
Run Code Online (Sandbox Code Playgroud)

java sleep

79
推荐指数
2
解决办法
7万
查看次数

C++ Long switch语句还是用map查找?

在我的C++应用程序中,我有一些值作为代码来表示其他值.要翻译代码,我一直在讨论使用switch语句或stl映射.开关看起来像这样:

int code;
int value;
switch(code)
{
case 1:
    value = 10;
    break;
case 2:
    value = 15;
    break;
}
Run Code Online (Sandbox Code Playgroud)

地图将是一个,stl::map<int, int>并且翻译将是一个简单的查找,其中代码用作键值.

哪一个更好/更有效/更清洁/接受?为什么?

c++ dictionary stdmap std switch-statement

30
推荐指数
3
解决办法
6023
查看次数

13
推荐指数
3
解决办法
1396
查看次数

循环枚举值

在枚举上索引循环是多么可怕 - 或者它是否完全可以接受?

我有一个枚举定义.文字的值是默认值.指定的值没有任何意义,没有任何意义,将来添加的任何文字的值也没有任何意义.它被定义为限制允许的值并使事情更容易遵循.因此,值始终从0开始并增加1.

我可以这样设置一个循环:

enum MyEnum
{
    value1,
    value2,
    value3,
    maxValue
}

for(MyEnum i = value1; i < maxValue; i = static_cast<MyEnum>(i+1)){}
Run Code Online (Sandbox Code Playgroud)

c++ enums loops

9
推荐指数
2
解决办法
8873
查看次数

C++ find 方法不是const?

我写了一个我想声明为 const 的方法,但编译器抱怨。我追查了一下,发现是方法的这部分造成了困难:

bool ClassA::MethodA(int x)
{
    bool y = false;
    if(find(myList.begin(), myList.end(), x) != myList.end())
    {
        y = true;
    }
    return y;
}
Run Code Online (Sandbox Code Playgroud)

方法中发生的事情比这更多,但是在剥离所有其他内容后,这部分不允许该方法为 const。为什么stl find算法会阻止方法成为const?它是否以任何方式更改列表?

c++ constants find stl-algorithm

5
推荐指数
1
解决办法
2589
查看次数