小编Moz*_*zbi的帖子

在Java中从枚举中获取字符串值

我有一个这样定义的枚举,我希望能够获得各个状态的字符串.我该怎么写这样的方法?

我可以获取状态的int值,但是也希望从int中获取字符串值.

public enum Status {
    PAUSE(0),
    START(1),
    STOP(2);

    private final int value;

    private Status(int value) {
        this.value = value
    }

    public int getValue() {
        return value;
    }
}
Run Code Online (Sandbox Code Playgroud)

java enums

69
推荐指数
4
解决办法
21万
查看次数

在调用过程中删除std :: function

在调用过程中,是否要销毁/删除std :: function是未定义的行为?

class Event {
  public:
    Event(std::function<void()> f) : func(std::move(f)) {}
    ~Event() {}
    std::function<void()> func;
};

int main()
{
    std::vector<Event> events;
    auto func = [&]() {
      events.pop_back();  
      std::cout << "event" << std::endl;
      // do more work  
    };

    events.emplace_back(std::move(func));
    events[0].func();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c++ c++11 c++14

6
推荐指数
1
解决办法
318
查看次数

在编译时初始化 c++ std::bitset

我试图std::bitset<256>在编译时用它的一些索引初始化 a ,比如 50-75 和 200-225 设置为 1。

基于http://en.cppreference.com/w/cpp/utility/bitset/bitset 看起来我的 2 个选项是:

constexpr bitset();
constexpr bitset( unsigned long long val ); 
Run Code Online (Sandbox Code Playgroud)

考虑到第二个构造函数不适用于大型索引,有人可以阐明我将如何初始化我的位集吗?

c++ templates constexpr c++11

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

参数包扣除不一致int和int&in variadic模板化成员函数,它创建一个运行成员函数的线程

当我尝试运行这个玩具示例时,我得到一个不一致的参数包编译器错误.有人可以说明为什么'int a'被推断为int&here?在下面的示例中,当我使用int literal运行下面的'test'函数时,它可以正常工作.在此先感谢您的解释!

class Test {
    public:
    Test() {}

    ~Test() {
        t.join();
     }

    void print(int num)
    {
        std::cout << num << std::endl;
    }

    template<class ...Args>
    void test(void(Test::*b)(Args...) , Args&&... args)
    {
        t = std::thread(b, this, std::forward<Args>(args)...);
    }

    std::thread t;
    };

int main()
{
    int a = 123;
    Test test;
    test.test(&Test::print, a);
    // test.test(&Test::print, 123); works
}
Run Code Online (Sandbox Code Playgroud)

错误:

prog.cc: In function 'int main()':
prog.cc:82:40: error: no matching function for call to 'Test::test( 
void (Test::*)(int), int&)'
     test.test(&Test::print, a);
                               ^     
prog.cc:82:40: note: candidate …
Run Code Online (Sandbox Code Playgroud)

c++ templates variadic-templates c++11

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

c ++迭代由模板函数接收的对象

我有两段看似相似的代码,我想利用模板来防止复制的代码.

if(!myVector.empty()) {
    for(auto& i : myVector)
    {
        std::cout << i << std::endl;
        //some other code that is similar to below
   }
}

if(!myUnorederedMap.empty()) {
    for(auto i : myUnorderedMap)
    {
        std::cout << i.second << std::endl;
        //some other code that is similar to top
    }
}
Run Code Online (Sandbox Code Playgroud)

当我必须在地图上调用.second而不是我的向量时,如何为迭代器编写函数模板?

c++ templates c++11

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

jdbc结合了2个sql更新语句

有没有办法将语句1和2组合成1个查询?谢谢.

String statement1 = "UPDATE thing SET status = ? WHERE id = ?";
String statement2 = "UPDATE thing SET error_message = ? WHERE id = ?";

PreparedStatement preparedStatement = connection.prepareStatement(statement1);
preparedStatement.setInt(1,status);
preparedStatement.setInt(2, id);
connection.prepareStatement(statement2);
preparedStatement.setInt(1,error_message);
preparedStatement.setInt(2, id);
Run Code Online (Sandbox Code Playgroud)

java mysql jdbc

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

不同线程上的 QApplication::processEvents

我有几个问题。

  1. 是否可以在一个线程上初始化 QApplication 对象并在另一个线程上销毁它?

  2. 为什么 QApplication 必须在分配它的同一个线程上运行?

  3. 是否可以QApplication::processEvents()在与创建 QApplication 对象的线程不同的线程上运行?如果调用 processEvents 的线程是非 QT 线程,这会起作用吗?

c++ qt qt5

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

标签 统计

c++ ×5

c++11 ×4

templates ×3

java ×2

c++14 ×1

constexpr ×1

enums ×1

jdbc ×1

mysql ×1

qt ×1

qt5 ×1

variadic-templates ×1