c++14相关内容
我按照本教程(here)让Clang在Windows上运行。我选择了安装clang和msys2的路径。 按照所有说明编写了简单的程序: #include using namespace std; int main() { cout
..
我这里有一些用GCC、clang和msvc编译的代码: #include #include struct c_class; template struct holder { friend auto adl_lookup(holder); }; template struct l
..
string s="1 23"; string a; a[0]=s[2];a[1]=s[3]; cout
..
我尝试对Vector运行循环,但不是对最后两个元素运行。为此,我使用了以下实现: vector x; for(int i=0;i
..
我正在为游戏Scattegories开发一个程序。在程序中有一个表,玩家可以在定时器线程在后台工作时输入单词。我希望当时间结束时,玩家将不能再输入,轮到他结束。 我如何才能做到这一点? 表和计时器: void timer() { cout
..
我在使用Toupper()函数时遇到问题: 编码: #include #include using namespace std; int main (){ string input {"ab"}; string output {""}; cout
..
求几个数字的平均值的公式当然是众所周知的: 此公式可以很容易地计算出chrono::durations: 的平均值 template auto sum(const std::chrono::duration& d0) { return d0; } template
..
我想提交一个句柄,但我只想在共享指针仍然有效的情况下执行它: // elsewhere in the class: std::shared_ptr node; // later on: const std::weak_ptr slave(node); // can I do this in the capture clause somehow? const auto h
..
以下代码: struct S { static constexpr int rolling_sum[4]{ 0, rolling_sum[0] + 1, rolling_sum[1] + 2, rolling_sum[2] + 3 }; }; 被clang接受(版本12测试),但被GCC拒绝(版本11测试),
..
为了区分编译器已知值,从而能够在编译时检测错误,使用‘constexpr’参数会很有用。示例: int do_something(constexpr int x) { static_assert(x > 0, "x must be > 0"); return x + 5; } int do_something(int x) { if(x > 0) { cout
..
在this thread中,关于单例实例的描述如下: 静电变量可以是getInstance()函数的静电,也可以是Singleton类中的静电。这里有一些有趣的权衡。 这些权衡是什么?我知道,如果声明为static函数变量,则在第一次调用函数之前不会构造单例。我也读过一些关于线程安全的文章,但我不知道这到底需要什么,也不知道这两种方法在这方面有什么不同。 两者之间还有其他主要区别
..
有没有一种标准的方法来获取函数参数的类型并将这些类型作为模板参数包进行传递?我知道这在C++中是可能的,因为it has been done before。 我希望在C++14或即将推出的C++1Z中,会有一种惯用的方式在这里实现arg_types...: template void some_function(); // Params
..
blot:C++有隐式转换,我正在寻找阻止它的方法。 让我为下面的代码片段举一个相同的例子: #include int incrementByOne(int i) { return ++i; } int main() { bool b = true; std::cout
..
struct B { B(int) {} B(B const&) {} }; struct D: B { using B::B; }; int main(void) { B b(5); D d(b); // error return 0; } c++14在12.9[class.inhctor]/p3中明确从继承的构造函数中排除复制/移动构造函数。 对于继承的候
..
我想知道是否有办法以编程方式确定C++中正在运行的程序的堆栈大小。如果是这样的话,是否还有一种方法可以通过编程来确定程序在运行时使用了多少堆内存?为了确定堆的大小,我可以通过重载new和delete运算符看到一种可能的方法,但我认为这不适用于智能指针。 我尝试通过以下方式实现: int main(){ const char STACK_BEGIN = 'A'; //a
..
C++ 标准库中的 std::sort 算法(及其表亲 std::partial_sort 和 std::nth_element)是在大多数实现中更基本的排序算法的复杂和混合合并,例如选择排序、插入排序、快速排序、合并排序或堆排序. 这里和姐妹网站上有很多问题,例如 https://codereview.stackexchange.com/ 与错误、复杂性有关以及这些经典排序算法实现的其他方
..
..
这是一个 C++/D 交叉问题.D 编程语言 有 范围 - 与 C++ 库如 Boost.Range- 不基于迭代器对.官方的 C++ Ranges Study Group 似乎陷入了制定技术规范的困境. 问题:当前的 C++11 或即将推出的 C++14 标准是否存在阻碍采用 D 范围的任何障碍 - 以及
..
我知道派生类 unique_ptr 可能发生在多态类型需要基类 unique_ptr 的地方.例如,从函数返回时 unique_ptr一些函数(){return make_unique(new Derived());} 或作为参数传递给函数. //获取唯一指针的函数void someOtherFunction(unique_ptr&& ptr)//调用这个函数的代码someOtherFunc
..
..