c++11
文章平均质量分 83
sunwake999
15年毕业的大学僧,处在社会、工作、生活的十字路口。请允许我用文字来记录下这一段时期的转型(主要是工作方面)。
展开
-
ubuntu查看、安装、更新、卸载boost库 指定目录
1.查看当前版本安装前请首先了解系统的boost安装情况。查看boost安装版本:dpkg -S /usr/include/boost/version.hpp如果没有查到,也不表示没有安装,有可能是手动下载安装包安装的。检查办法是sudo find /usr -name “libboost”查看一下都些版本。搞清楚状况再安装。2.命令行安装如果是安装最新版本的boost,直接执行如下命令:sudo apt-get install libboost-all-dev转载 2021-07-02 22:56:53 · 5318 阅读 · 6 评论 -
Boost中的Concept和Concept_Check
在Generic Programming当中,一个重要的概念就是Concept(滑稽的是,如果把这个Concept也翻译成“概念”,那就狗屁不通了。我倾向于说它是“操作集”)。Concept就是一组操作,如果一个type具有这些操作,那么就说这个type是这个Concept的一个model。这其中的思想有那么一丁点像是OO当中的interface,一个class如果实现了一个interface,那么它就可以被当作这个interface来用。同样,如果一个type是一个Concept的model,那么所有接转载 2021-05-07 22:38:48 · 543 阅读 · 0 评论 -
C++模板元编程简介
1.概述模板元编程(Template Metaprogramming,TMP)是编写生成或操纵程序的程序,也是一种复杂且功能强大的编程范式(Programming Paradigm)。C++模板给C++提供了元编程的能力,但大部分用户对C++模板的使用并不是很频繁,大致限于泛型编程,在一些系统级的代码,尤其是对通用性、性能要求极高的基础库(如 STL、Boost)几乎不可避免在大量地使用 C++ 模板以及模板元编程。模版元编程完全不同于普通的运行期程序,因为模版元程序的执行完全是在编译期,并且模版转载 2021-05-07 21:49:13 · 1421 阅读 · 0 评论 -
彻底弄懂UTF-8、Unicode、宽字符、locale
最近使用到了wchar_t类型,所以准备详细探究下,没想到水还挺深,网上的资料大多都是复制粘贴,只有个结论,也没个验证过程。本文记录探究的过程及结论,如有不对请指正。Unicode、UCSUCS(Universal Character Set)本质上就是一个字符集。Unicode的开发结合了国际标准化组织所制定的ISO/IEC 10646,即通用字符集(Universal Character Set, UCS)。Unicode 与 ISO/IEC 10646 在编码的运作原理相同,但The ..转载 2020-10-21 17:59:41 · 1448 阅读 · 0 评论 -
Windows+VS2015使用gRPC
gRPC官方Windows安装说明:Install Visual Studio 2015 or 2017 (Visual C++ compiler will be used). InstallGit. InstallCMake. InstallActive State Perl(choco install activeperl) -required by boringssl InstallGo(choco install golang) -required by borin...转载 2020-10-11 17:49:37 · 1376 阅读 · 2 评论 -
boost asio 中各种buffer
boost asio 中的各种bufferbuffer 的种类const_buffer mutable_bufferconst/mutable buffer sequencestream_bufferdynamic_buffer自由函数buffer 与 dynamic_bufferbufferdynamic_bufferbuffer 的种类boost asio中的buffer 种类可以分为 const buffer、 mutable buffer、sream buffer另外还有 const_buff原创 2020-07-06 23:14:19 · 2028 阅读 · 0 评论 -
muduo网络库源码分析——整体架构
muduo的源代码中,虽然不考虑可移植性,但还是划分了很多小的类(Channel、Socket、TcpConnection、Acceptor,不知道是不是参考了java中的概念),类之间大量通过boost::bind()注册回调函数,感觉比继承还要难理解。但是无论如何,muduo所强调的关于现代C++编程技术和多线程服务端编程理念都是非常值得学习的。本文的主要目的:从整体架构上分析muduo的...转载 2019-05-15 11:53:08 · 279 阅读 · 0 评论 -
C++中将构造函数或析构函数定义为private
很多情况下要求当前的程序中只有一个object。例如一个程序只有一个和数据库的连接,只有一个鼠标的object。通常我们都将构造函数的声明置于public区段,假如我们将其放入private区段中会发生什么样的后果?这意味着什么?当我们在程序中声明一个对象时,编译器为调用构造函数(如果有的话),而这个调用将通常是外部的,也就是说它不属于class对象本身的调用,假如构造函数是私...转载 2019-04-22 09:45:54 · 1009 阅读 · 0 评论 -
Java与c++通过JNI的完美结合
转自https://blog.csdn.net/xiaoxiaoyusheng2012/article/details/56672173参看:高煥堂的课程《JNI:Java与C++的美好结合》http://edu.csdn.net/course/detail/1469参看:http://www.cnblogs.com/yejg1212/archive/2013/06/07/31...转载 2019-04-16 19:46:50 · 428 阅读 · 0 评论 -
C++11 信号槽 signal/slot
最近在看陈硕大大 的《Linux 多线程服务端编程:使用 muduo C++ 网络库》 ,看到里面用variadic template 和boost智能指针 实现了一个 signal/slot,现在C++11 已经把 boost的智能指针引入到标准库里边了。就想利用纯C++11 实现一遍。结果发现,只要把原来代码中boost智能指针替换为c++11 的智能指针,把陈大大自己实现的MutexL...原创 2019-03-24 20:43:49 · 2678 阅读 · 3 评论