asio竟然支持reactor
https://think-async.com/Asio/asio-1.30.2/doc/asio/overview/core/reactor.html
竟然直接支持reactor的形式,虽然支持好像不太难,但这个小细节确实挺牛的。
[……]
https://think-async.com/Asio/asio-1.30.2/doc/asio/overview/core/reactor.html
竟然直接支持reactor的形式,虽然支持好像不太难,但这个小细节确实挺牛的。
[……]
虽然开始尝试自己基于asio写一些东西,同时也在看asio的源码,但真的想学还是应该先看作者本人写的概述:
https://think-async.com/Asio/asio-1.30.2/doc/asio/overview.html
这个老哥抽象能力真的很强,这些概念第一遍根本理不清楚,索性[……]
本来只是想草草读一下这篇文章:https://142857.red/book/stl_map/
但是还是发现一些值得记录的点,在这里记录一下:
[]读取不存在的key会报错
map<string, int> config = {
{"timeout", 985[......]
因为开发机的gcc版本太低了,就重新编译了一个clang,大概了解了一下这些底层工具的概念。
clang++和clang都是llvm的一部分,而llvm是一个庞大的、模块化编译器的项目,clang++只是基于llvm的编译器前端。
所以对于一个C++编译过程,从.cpp生成[……]
打算基于asio写多种序列化库的测评,在底层用同一个asio构造函数的方式,然后上层测试脚本里切换序列化的实现。
但是最开始按着demo写逻辑就出现了问题,我想先纯面向过程,就没像demo里写一个connection类,然后就探究到一直会闪退的问题。
最后定位到时ip::tcp::socket析构的[……]
C++20拥有一个全新的特性:协程。
我来从python的角度来解释C++这个特性设计与其他语言的不同,目的以及意义。
协程是一种可以挂起和恢复执行的函数。C++20协程跟python的生成器是很相似的,如果函数中出现了co_yield, co_return, co_await,那么这个函数就是协程[……]
这是《现代C++语言核心特性解析》的读书笔记。
书里给constexpr给了很多篇幅,但是总体来说就是一个,const表示的是不允许修改的常量,而constexpr表示的是编译期的常量。
但是逐渐被扩展到constexpr可以被用作函数,lambda,以及if c[……]
在python中是能够很轻易地实现多个返回值的函数的,例如:
def return_multi_values():
return 100, 20
x, y = return_multi_values()
但是在C++应该是会用类、结构体或者引用来实现,在C++11之后也引入了std:[……]
重写(override)、重载(overload)和隐藏(overwrite)在C++完全不同的概念,先梳理一下区别:
重写的意思更加接近于覆盖,在C++中是指派生类覆盖了基类的虚函数,这里的覆盖必须满足有相同的函数签名和返回类型,即重写是有相同的函数名、形参列表以及返回类型[……]