24得票6回答
如何使用C++/C++11打印当前时间(带毫秒)

目前我使用这段代码 string now() { time_t t = time(0); char buffer[9] = {0}; strftime(buffer, 9, "%H:%M:%S", localtime(&t)); return str...

7得票2回答
查询 std::mutex 的锁状态

我有一个类似下面所示的情况,但是没有一种方法可以查询互斥锁的状态而不改变它的状态。如果已锁定互斥锁,我不希望someFunctionCalledRepeatedlyFromAnotherThread()一直等待互斥锁释放。在执行一些替代操作后,它必须立即返回。我猜这个遗漏是为了安全考虑,因为在...

7得票3回答
我是否应该使用智能指针?

我有一个如下的类: class node { public: node* parent; std::list<node*> children; }; 我应该使用智能指针而不是裸指针吗?为什么?如果是,哪种智能指针?

8得票1回答
为什么std::unordered_map::count上没有`noexcept`说明符?

我正在阅读C++参考页面关于std::unordered_map的内容。empty和size方法被标记为noexcept限定,但是count方法没有。 我认为在count中不应该抛出异常。 我是否遗漏了什么?

8得票1回答
如何在C++中获取重载方法的返回类型?

我有一个结构体: struct A { ComplicatedType1 f(); ComplicatedType2 f(int); }; 我想使用编译时辅助工具来获取f()的返回类型。我正在尝试使用std::result_of<>: using Type = st...

9得票2回答
一个具有相关类型的 C++11 可变参数函数模板重载是否存在二义性?

下面的代码是一个递归变参函数重载的典型示例。在clang和GCC中都可以编译成功,main返回36(符合预期): template <typename T> int add(T val) { return val; } template <typename Fir...

52得票2回答
decltype((c))中括号的意义是什么?

我正在阅读维基百科上关于 C++11 类型推断特性 的文章。 其中有一个例子,我引用如下:#include <vector> int main() { const std::vector<int> v(1); auto a = v[0]; ...

9得票5回答
Arduino 1.0.6: 如何更改编译器标志?

我正在使用Arduino 1.0.6 IDE进行项目开发,但似乎无法接受C++11中的std::array。有没有可能更改编译器标志以使其工作?

12得票3回答
你可以将原始字符串修饰符R"()"与字符串变量结合使用吗?

例子 例如:string MyString = "Normal\tString"; cout << MyString << endl; 产生以下结果:"Normal String" 在字符串末尾添加原始字符串修饰符,就像这...

20得票4回答
如何为用户定义的类型特化std::hash<T>?

问题 对于用户定义类型,其所有成员数据类型都已具有良好的std::hash专业化,作为std::unordered_map或std::unordered_set的第三个模板参数使用什么样的std::hash专业化效果最佳? 对于这个问题,我定义"好"是指易于实现和理解,效率合理,并且不太可...