小编use*_*508的帖子

如何从boost :: shared_ptr释放指针?

boost :: shared_ptr可以释放存储的指针而不删除它吗?

我可以看到文档中没有发布功能,也在FAQ中解释了为什么它不提供发布功能,类似于发布不能在不唯一的指针上完成.我的指针是独一无二的.我该如何发布我的指针?或者哪个提升智能指针类使用,这将允许我释放指针?我希望你不要说使用auto_ptr :)

c++ boost shared-ptr

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

如何在引擎盖下实现信号和插槽?

这个问题已在本论坛中提出,但我不明白这个概念.

我正在四处阅读,似乎信号和插槽是使用函数指针实现的,即信号是一个很大的函数,它在里面调用所有连接的槽(函数指针).它是否正确?在整个故事中生成的moc文件的作用是什么?我不明白信号功能如何知道哪个插槽要调用,即哪个插槽连接到该信号.

谢谢你的时间

qt qt4 signals-slots

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

矢量和const

考虑一下

 void f(vector<const T*>& p)
 {
 }
 int main()
 { 
  vector<T*> nonConstVec;
  f(nonConstVec);
 }
Run Code Online (Sandbox Code Playgroud)

下列情况不compile.The事情是vector<T*>不能转换到vector <const T*>,这不合逻辑对我来说,因为存在从隐式转换T*const T*.为什么是这样 ?

vector<const T*>也不能转换为vector <T*>,但这是预期的,因为const T*无法隐式转换为T*.

c++ stl const vector

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

如何从源代码构建qt

过去几天我在Qt论坛和谷歌上搜索了很多,但我找不到任何明显的答案.

我找到了-prefix可以提供配置来指定不同安装目录的选项(甚至没有记录在Windows上),但这根本不清楚源和二进制文件的分离,因为构建仍然在源目录中完成,然后安装所需的文件将复制到安装程序.我尝试了这个-prefix选项,并遇到了一些问题.(即它不会将.pdb文件复制到安装目录.)

然后我找到了关于进行阴影构建的这个链接,但它有一个很大的限制,即构建目录必须与源目录处于同一级别.


我猜你没试过make install?所以试试吧.它应该将Qt安装到远离源的单独目录中.

你是说我配置后,我应该做nmake安装而不是nmake?我知道nmake将处理来自qmake的生成的makefile并将它们放在源Qt目录中,但是nmake install将完全做什么,即在哪个目录中安装文件以及如何指定文件的安装目录.

请注意,我已经这样做了:

configure -prefix builddir -platform win32-msvc2005
nmake install
Run Code Online (Sandbox Code Playgroud)

上面两行的效果是qt是在源目录中编译的,而不是直接编译到我用前缀指定的builddir.然后编译的文件被复制到我的builddir中.我希望能够将我的Qt文件直接构建到构建目录,因为这样我在编译期间需要4 Gb空间用于源代码.此外,pdb文件未复制到我的buildir,这是另一个问题.

installation qt qmake

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

如何实现boost multi_index

我在理解如何实现Boost.MultiIndex方面遇到了一些困难.可以说我有以下内容:

typedef multi_index_container<
    employee,
    indexed_by<    
        ordered_unique<member<employee, std::string, &employee::name> >,
        ordered_unique<member<employee, int, &employee::age> >
    > 
> employee_set;
Run Code Online (Sandbox Code Playgroud)

我想我有一个Employee[]实际存储employee对象的数组和两个地图

map<std::string, employee*>
map<int, employee*>
Run Code Online (Sandbox Code Playgroud)

名称和年龄作为键.每个映射都具有employee*指向数组中存储对象的值.这个可以吗?

c++ boost multi-index boost-multi-index

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

const shared_ptr到shared_ptr

如何将指向const对象的shared_ptr转换为指向非const对象的shared_ptr.我正在尝试执行以下操作:

boost::shared_ptr<const A> Ckk(new A(4));

boost::shared_ptr<A> kk=const_cast< boost::shared_ptr<A> > Ckk;
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

boost shared-ptr

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

用qt信号发出std :: string

我试图用qt信号发出标准字符串.信号将按排队方式发送.我用qRegisterMetaType注册了这个类型,就像在qt文档中说的那样,但没有运气.我正在这样注册 qRegisterMetaType<std::string>("std::string")

c++ qt qt4

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

Java正则表达式匹配

当字符串以数字开头,然后是一个点,然后是一个空格和一个或多个大写字符时,我需要匹配.匹配必须出现在字符串的开头.我有以下字符串.

1. PTYU fmmflksfkslfsm
Run Code Online (Sandbox Code Playgroud)

我试过的正则表达式是:

^\d+[.]\s{1}[A-Z]+
Run Code Online (Sandbox Code Playgroud)

它不匹配.对于这个问题,正则表达式是什么?

java regex

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

虚函数覆盖和隐藏

我有这个代码:

class Event{};
class CustomEvent:public Event{};

class Handler
{
  public:
      virtual void inform(Event e ){}
};

class CustomHandler : public Handler
{
  public:
    void inform(CustomEvent e){}        

};

CustomEvent cEvent;
Handler* handler = new CustomHandler;

//this calls Handler::inform(Event), not CustomHandler::(CustomEvent) , as I expected
handler->inform(cEvent); 
Run Code Online (Sandbox Code Playgroud)

如果我将代码更改为:

class Handler
{
  public:
      virtual void inform(Event e ){}
      virtual void inform(CustomEvent e){}

};

class CustomHandler : public Handler
{
  public:
    void inform(CustomEvent e){}        

};

CustomEvent cEvent;
Handler* handler = new CustomHandler;

//this calls CustomHandler::(CustomEvent) …
Run Code Online (Sandbox Code Playgroud)

c++ overriding

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

boost :: variant和polymorphism

我希望从boost变量中获取指向基类的指针,如果我将orignally指针放到派生类上.有没有办法实现这一点.以下代码不起作用.

class A{ public: virtual ~A(){}}; class B : public A{};
typedef boost::variant<A*,B*> MyVar;
MyVar var = new B;
A* a = boost::get<A*> (var); // the following line throws exception
Run Code Online (Sandbox Code Playgroud)

也许有人有想法怎么写我自己的get函数如果请求的类型是基类的存储类型的变种,这将考验,然后做相应的投

c++ boost boost-variant

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