小编cof*_*ean的帖子

在可可中下拉视图

我正在寻找一个落在主窗口前面的"下拉"视图.例如,当您在"系统偏好设置" - >"网络"中单击"高级"时,窗口会下降.

如果有人可以指出我在文档方面的正确方向,这将是伟大的.提前致谢.

macos cocoa objective-c nsview nswindow

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

std :: vector :: erase()(多线程)'断言'px!= 0'失败.

shared_ptr相似,断言px!= 0失败

我正在编写一个游戏服务器,它会生成一个新线程来处理每个用户会话.主线程有一个UserSession共享指针的std :: vector.另一个线程定期从此向量中删除死会话但在执行std :: vector :: erase()时失败.我无法找出生活中的错误.

错误是:

Prototype2:/usr/include/boost/smart_ptr/shared_ptr.hpp:653:typename boost :: detail :: sp_member_access :: type boost :: shared_ptr :: operator - >()const [with T = UserSession; typename boost :: detail :: sp_member_access :: type = UserSession*]:断言`px!= 0'失败.中止(核心倾倒)

相关代码是:

void GameServer::start()
{
    int sessionid;
    boost::asio::io_service io_service;
    tcp::acceptor acceptor(io_service, tcp::endpoint(tcp::v4(), port_));
    boost::thread(&GameServer::session_monitor, this);

    for (;;)
    {   
        socket_shptr socket(new tcp::socket(io_service));
        acceptor.accept(*socket);
        sessionid = numsessions_++;
        UserSession* usession = new 
            UserSession(socket, sessionid, io_service);
        session_shptr session(usession);

        sessions_mutex_.lock();
        sessions_.push_back(session);
        sessions_mutex_.unlock();

        std::cout …
Run Code Online (Sandbox Code Playgroud)

c++ boost stl shared-ptr boost-asio

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

标签 统计

boost ×1

boost-asio ×1

c++ ×1

cocoa ×1

macos ×1

nsview ×1

nswindow ×1

objective-c ×1

shared-ptr ×1

stl ×1