recipes
recipes copied to clipboard
Some code snippets for sharing
读书过程中顺手让recipe代码使用更多std特性,不知道这个mr弄成什么程度可以合入
另外还有一些boost::bind可以替换成lambda function
在阅读代码时发现代码中的完美转发是有问题的:因为模板类的成员方法只是一个普通的函数,并不是一个模板函数,所以他们的参数不会触发类型推导,所以对于T&&类型只是一个普通的右值引用。原本的代码只能接收右值引用参数,但是这显然不是代码的本意,因为后面使用了std::forward进行完美转发,因此应该是一个universal reference才对。测试代码如下: ```cpp #include void compare1(string x, string y) { cout
ubuntu 14.04 : kernel 4.4 gcc ver: 7.3.0 boost ver : 1.58 `/usr/include/boost/ptr_container/detail/static_move_ptr.hpp:168:57: error: no type named ‘error’ in ‘class boost::ptr_container_detail::static_move_ptr’ typedef typename static_move_ptr::error type; ` To explicitly disable copy...
今天周一,从头条上看到华容道的lambda的介绍。而上个周六周末我正在写华容道的程序,先用python写,运行得很慢,然后改用c实现,还是有点慢。看到推送之后,才发现一个是mask的使用,减少了局面,然后是这个lambda的实现比较巧妙,虽然可以运行,但是还是不太明白,没关系,能跑就行,看起来是跑得快。我的程序不是这样,是for循环解决的,如果加上mask,可能也很快,合并了你的程序之后,再验证吧。 这次上传的,是把华容道的结果打印出来,我重写了main, 调用了你的程序2次,一次计算结果,第二次打印,破解了我没有做出来的第四题,还蛮高兴。其实更想做的是,电脑自动展示运行过程,这个ui有点复杂,等会ui的人来做吧。 看到头条转发,这个消息是2013年就有了,好厉害。 https://www.toutiao.com/i6668809453782958595/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1&from=singlemessage×tamp=1552731870&app=news_article&utm_source=weixin&isappinstalled=0&utm_medium=toutiao_ios&group_id=6668809453782958595 2019年3月18日,第一次做pull request 很开心! Signed-off-by: harryhao.zhang
你好,买了你的书,不错啊! 但有个地方不太明白,你在2.1.1使用了shared_ptr::unique来断言g_foos是否为FooList的唯一引用,如果不是唯一引用,则重置。如下: void post(const Foo& f) { printf("post\n"); getlock locker(mutex); if (!g_foos.unique()) { g_foos.reset(new FooList(*g_foos)); printf("copy the whole list\n"); } assert(g_foos.unique()); g_foos->push_back(f); } 但是,我在https://zh.cppreference.com/w/cpp/memory/shared_ptr/unique这个文档中看到一段话: “此函数于 C++17 中被弃用并于 C++20 中移除,因为 use_count...
`void TimerQueue::handleRead() { ... readTimerfd(timerfd_, now); ... }` 陈老师,readTimerfd应该是为了避免level-triggered而调用的吧,为什么我把它注释掉后也不会出现一直触发的问题??
static int findEntry(const EntryList& entries, const string& stock); static MapPtr parseData(const string& message); 陈老师。这两个好像没实现。。。
陈老师,你好! 碰到个问题,在使用protobuf时,我看了codec.h里封装的代码,我在测试中碰到如下问题: 比如我有个 AutoReq.proto,它属于package montnets; 调用 const google::protobuf::Descriptor* descriptor = google::protobuf::DescriptorPool::generated_pool()->FindMessageTypeByName("montnets.AuthReq"); 后校验 descriptor 为nullptr, 如果我在调用这个的前面加上 static montnets::AuthReq request; 就能正常。难道一定要在项目中先使用到具体的一个protobuf类之后它才能放入DescriptorPool 池中,这个怎么优化! 谢谢! 附带:我使用的是protobuf 3.4.1
EventLoopThread对象析构时会自动调用EventLoop的quit函数,不需要手动quit,否则会出现两次wakeup, 导致EventLoopThread对象析构时出现“EventLoop::wakeup() writes -1 bytes instead of 8”的错误。