小编120*_*arm的帖子

为什么我不能将unique_ptr push_back到向量中?

这个程序有什么问题?

#include <memory>
#include <vector>

int main()
{
    std::vector<std::unique_ptr<int>> vec;

    int x(1);
    std::unique_ptr<int> ptr2x(&x);
    vec.push_back(ptr2x); //This tiny command has a vicious error.

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

错误:

In file included from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/mingw32/bits/c++allocator.h:34:0,
                 from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/allocator.h:48,
                 from c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/memory:64,
                 from main.cpp:6:
c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h: In member function 'void __gnu_cxx::new_allocator<_Tp>::construct(_Tp*, const _Tp&) [with _Tp = std::unique_ptr<int>, _Tp* = std::unique_ptr<int>*]':
c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/stl_vector.h:745:6:   instantiated from 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = std::unique_ptr<int>, _Alloc = std::allocator<std::unique_ptr<int> >, value_type = std::unique_ptr<int>]'
main.cpp:16:21:   instantiated from here
c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include/c++/bits/unique_ptr.h:207:7: error: deleted function 'std::unique_ptr<_Tp, _Tp_Deleter>::unique_ptr(const …
Run Code Online (Sandbox Code Playgroud)

c++ stl smart-pointers unique-ptr c++11

192
推荐指数
2
解决办法
13万
查看次数

带有指定模板参数的C++ 11 make_pair无法编译

我正在使用启用了-std = c ++ 11的g ++ 4.7(后面的一个快照).我试图编译一些现有的代码库,一个失败的案例让我感到困惑.

如果有人能解释发生了什么,我将不胜感激.

这是代码

#include <utility>
#include <iostream>
#include <vector>
#include <string>

int main ( )
{
    std::string s = "abc";

    // 1 ok
    std::pair < std::string, int > a = std::make_pair ( s, 7 );

    // 2 error on the next line
    std::pair < std::string, int > b = std::make_pair < std::string, int > ( s, 7 );

    // 3 ok
    std::pair < std::string, int > d = std::pair < std::string, int > ( …
Run Code Online (Sandbox Code Playgroud)

c++ templates g++ rvalue-reference c++11

78
推荐指数
1
解决办法
2万
查看次数

C++从基类指针访问派生类成员

如果我分配一个类的对象Derived(具有基类Base),并将指向该对象的指针存储在指向基类的变量中,我该如何访问Derived该类的成员?

这是一个例子:

class Base
{
    public:
    int base_int;
};

class Derived : public Base
{
    public:
    int derived_int;
};

Base* basepointer = new Derived();
basepointer-> //Access derived_int here, is it possible? If so, then how?
Run Code Online (Sandbox Code Playgroud)

c++ inheritance pointers derived-class

36
推荐指数
4
解决办法
7万
查看次数

如何在新提交后自动取消批准github审核

一旦拉取请求被批准,如果还有进一步的提交:

Pull请求应自动进入未批准状态.

可以这样做吗?

github github-codereviews

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

pthread启动函数中的return()与pthread_exit()

以下程序显示我们可以使用return()或pthread_exit()返回可用于pthread_join()的状态变量的void*变量.

(1)是否应优先使用一个而不是另一个?

(2)为什么使用return()有效?通常我们会想到返回将值放在堆栈上但是由于线程已经完成,堆栈应该消失.或者堆栈是否在pthread_join()之后才被销毁?

(3)在你的工作中,你是否看到很多地方变量的使用?我看到90%的代码看起来只是NULL状态参数.因为通过void*ptr改变的任何东西已经反映在调用线程中,所以返回它似乎没什么意义.返回的任何新的void*ptr都必须指向由开始线程进行malloc化的东西,这使得接收线程有责任处理它.我认为状态变量是无意义的,我错了吗?

#include <iostream>
#include <pthread.h>

using namespace std;

struct taskdata
{
       int  x;
     float  y;
    string  z;
};


void* task1(void *data)
{
    taskdata *t = (taskdata *) data;

    t->x += 25;
    t->y -= 4.5;
    t->z = "Goodbye";

    return(data);
}

void* task2(void *data)
{
    taskdata *t = (taskdata *) data;

    t->x -= 25;
    t->y += 4.5;
    t->z = "World";

    pthread_exit(data);
}


int main(int argc, char *argv[])
{
    pthread_t threadID;

    taskdata t = {10, 10.0, "Hello"};

    void *status;

    cout …
Run Code Online (Sandbox Code Playgroud)

c++ unix linux pthreads

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

推送到评论存储库后,"abort:不能在rebase上重新定义不可变的变更集"

我们有一个代码审查存储库,人们hg push -f可以使用各种各样的东西.审核完成后,我们从项目的中央存储库,rebase和push中提取.我最近升级到mercurial 2.1并收到此消息:

abort: can't rebase immutable changeset 43ab8134e7af
(see hg help phases for details)
Run Code Online (Sandbox Code Playgroud)

当我尝试hg pull --rebase从中央存储库.我如何解决它?

mercurial mercurial-phases

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

Sourcetree安装 - Atlassian Login Stuck

我正在尝试在我的系统上安装SourceTree应用程序.在下图所示的步骤中,我尝试通过现有帐户登录或以其他方式访问My Atlassian帐户,但我无法继续进行.有人可以帮我解决这个问题吗?我能登录但下一步是什么? 问题

atlassian-sourcetree

21
推荐指数
3
解决办法
2万
查看次数

如何让Dreamweaver向我显示结束标记?

我希望Dreamweaver在选择标签时向我显示开/关标签.许多编辑都可以看到这个功能,我知道Eclipse确实有这个功能.

为了使事情更清楚:当我<div>用鼠标选择/突出显示开始标记时,我希望Dreamweaver选择/突出显示</div>结束标记.

我的主要问题:

  1. 有谁知道这个功能叫什么?
  2. 有谁知道如何将此功能添加到Dreamweaver?

我已经尝试在Adobe交换机上搜索Dreamweaver扩展但无法找到我正在寻找的内容.

tags syntax-highlighting dreamweaver

17
推荐指数
2
解决办法
5万
查看次数

设置C++的差异

如果我知道一个集合是另一个集合的子集,并且我想找到差异,那么最有效的方法是什么?

恩.PSEUDO CODE

> set<int> set1 = {1 2 3 4 5 6 7 8 9 10}
> set<int> set2 = {5 6 7}
Run Code Online (Sandbox Code Playgroud)

我想减去set2来自set1:

这里的答案是

{1 2 3 4 8 9 10}
Run Code Online (Sandbox Code Playgroud)

c++ intersection set

16
推荐指数
2
解决办法
1万
查看次数

带下拉列表和箭头的WPF按钮

有人可以建议使用带有箭头和下拉列表的按钮的最佳方法,例如在visual studio工具栏按钮新项目中.正如您在VS中所见,鼠标悬停突出显示默认按钮和箭头按钮,从列表中选择项目后,默认按钮将根据您的选择进行更改.

在此输入图像描述 在此输入图像描述

这是一段显示下拉菜单的代码,但不是上面描述的完整功能:

<StackPanel Orientation="Horizontal">
    <Border CornerRadius="0" BorderBrush="Black" BorderThickness="1">
        <Button Name="CreateButton" Click="CreateButton_Click"  Background="Transparent" BorderBrush="{x:Null}">
            <Image Source="/OMS.Resources;component/Resources/Images/LibraryImages/add1.png" />
            <Button.ContextMenu>
                <ContextMenu HorizontalAlignment="Right">
                    <MenuItem Header=" doc" Click="CreateDocButton_Click">
                        <MenuItem.Icon>
                            <Image Source="/OMS.Resources;component/Resources/Images/LibraryImages/add_sheet.png" Width="24" Height="24" />
                        </MenuItem.Icon>
                    </MenuItem>
                    <MenuItem Header=" xls" Click="CreateXlsButton_Click">
                        <MenuItem.Icon>
                            <Image Source="/OMS.Resources;component/Resources/Images/LibraryImages/add_sheet.png" Width="24" Height="24" />
                        </MenuItem.Icon>
                    </MenuItem>
                    <MenuItem Header=" txt" Click="CreateTxtButton_Click">
                        <MenuItem.Icon>
                            <Image Source="/OMS.Resources;component/Resources/Images/LibraryImages/add_sheet.png" Width="24" Height="24" />
                        </MenuItem.Icon>
                    </MenuItem>
                </ContextMenu>
            </Button.ContextMenu>
        </Button>
    </Border>
    <Border CornerRadius="0" BorderBrush="Black" BorderThickness="1">
        <Button HorizontalAlignment="Left" VerticalAlignment="Stretch"  Background="Transparent" BorderBrush="{x:Null}"
        ContextMenuService.IsEnabled="False" Click="AddButtonContextMenu_Click">
            <Image Source="/OMS.Resources;component/Resources/Images/LibraryImages/arrow_down.png" VerticalAlignment="Center" Width="9" />
        </Button>
    </Border>
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

wpf button

16
推荐指数
3
解决办法
4万
查看次数