
c++
文章平均质量分 52
byte_knight
嵌入式 分布式后端 网络安全 主机安全
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
boost::enable_share_from_this
因为它返回的share_ptr必须和管理该对象的share_ptr是共享的,也就是说返回的share_ptr的引用计数和管理该对象的share_ptr的引用计数是相同的。类tcp_connection继承enable_share_from_this,在22行里,它的成员函数start(),通过share_from_this返回指向自身的share_ptr。我们就使类A继承enable_share_from_this,然后通过其成员函数share_from_this()返回当指向自身的share_ptr。原创 2024-12-26 17:12:49 · 388 阅读 · 0 评论 -
不可拷贝类
不可拷贝类原创 2023-11-15 18:20:16 · 163 阅读 · 0 评论 -
jemalloc 使用
1.安装wget https://github.com/jemalloc/jemalloc/archive/refs/tags/5.2.1.tar.gztar -zxvf 5.2.1.tar.gz./autogen.sh./configure --enable-debug --enable-profmakemake install注意:不要在虚拟机共享目录下编译,否则make会报错。因为windows系统不支持软链接或者硬链接。参考文章ln: failed to crea原创 2022-01-18 20:02:44 · 2216 阅读 · 0 评论 -
c++ http server
众所周知,C++ 并不是一种流行的 Web 开发语言,究其原因有很多:语言门槛高、使用难度大、开发效率低 ...... 话虽如此,但随着 Emscripten 的成熟,未来 C++ 在 Web 方面会发挥更大的潜能,尤其是游戏、3D 应用等方面。有关 C++ Web 相关的框架有不少,下面进行了简单的整理,并按照“Star”的数量进行了排序,希望能对大家有所帮助。1ProxygenProxygen 是 Facebook 开发的一个 C++ 的 HTTP 库,包含一个易转载 2021-10-22 17:47:38 · 3763 阅读 · 1 评论 -
rapidjson GetInt() assert
调用栈(gdb) bt#0 0x00007fcefc8fb1f7 in raise () from /lib64/libc.so.6#1 0x00007fcefc8fc8e8 in abort () from /lib64/libc.so.6#2 0x00007fcefc8f4266 in __assert_fail_base () from /lib64/libc.so.6#3 0x00007fcefc8f4312 in __assert_fail () from /lib64/libc..原创 2021-09-23 10:04:11 · 534 阅读 · 0 评论 -
string 析构崩溃 assign
崩溃(gdb) bt#0 0x00007f5a4eb24418 in _int_free () from /lib64/libc.so.6#1 0x00007f5a4f440c03 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::~basic_string() () from /lib64/libstdc++.so.6#2 0x000000000042ad原创 2021-08-26 18:19:21 · 2079 阅读 · 3 评论 -
string clear() coredump
源码 1.cear() /** * Erases the string, making it empty. */ void clear() _GLIBCXX_NOEXCEPT { _M_mutate(0, this->size(), 0); }2._M_mutate template<typename _CharT, typename _Traits, typename _Alloc> void basic原创 2021-08-25 13:17:27 · 584 阅读 · 2 评论 -
gcc源码
look up gcc version[root@iC 630]# gcc -vUsing built-in specs.COLLECT_GCC=gccCOLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapperTarget: x86_64-redhat-linuxConfigured with: ../configure --prefix=/usr --mandir=/usr/share/man --in原创 2021-08-25 11:14:04 · 501 阅读 · 0 评论 -
指针与引用-秘诀1
指针与应用的不同引用不能指向空值,但是指针可以指向空值,需要判断是否为空。这意味这使用效率上引用要高于指针。指针可以被重新赋值以指向另一个不同的对象。 但是引用则总是指向在初始化时被指定的对象,以后不能改变。指针使用场景你考虑到存在不指向任何对象的可能(在这种情况下,你能够设置指针为空)你需要能够在不同的时刻指向不同的对象(在这种情况下,你能改变指针的指向)引用使用场景如果总是指向一个对象并且一...原创 2021-07-02 19:11:34 · 328 阅读 · 0 评论 -
C++ 友元
友元函数: 友元函数是可以直接访问类的私有成员的非成员函数。它是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend,其格式如下: friend 类型 函数名(形式参数);class myclass{ private: int x; int原创 2014-03-13 16:02:15 · 818 阅读 · 0 评论 -
虚函数详解
1定义定义:在某基类中声明为 virtual 并在一个或多个派生类中被重新定 义的成员函数[1]语法:virtual 函数返回类型 函数名(参数表) {函数体;}用途:实现多态性,通过指向派生类的基类指针,访问派生类中同名覆盖成员函数虚函数必须是基类的非静态成员函数,其访问权限可以是private或protected或public,在基类的类定义中定义虚函数的一般形式:cl原创 2013-11-21 21:05:41 · 895 阅读 · 0 评论 -
template
函数模板 以下以取最大值的函数模板maximum为例。此函数在编译时会自动产生对应输入变量的数据类型的实际代码。#include template typename T>inline const T& maximum(const T& x,const T& y){ if(y > x) return y; else原创 2013-06-04 22:14:29 · 972 阅读 · 0 评论 -
C++中extern “C”含义深层探索
1.引言 C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象”),因而它可以定义不属于任何类的全局变量和函数。但是,C++毕竟是一种面向对象的程序设计语言,为了支持函数的重载,C++对全局函数的处理方式与C有明显的不...转载 2013-05-14 17:54:06 · 819 阅读 · 0 评论 -
CString
#pragma onceclass Cstring{Cstring():m_pData(new char[1]){ *m_pData='\0';} //默认构造Cstring(const char *pStr):m_pData(new char[strlen(pStr)+1]){ strcpy(m_pData,pStr); }Cstring(const Cstr原创 2014-05-13 16:38:41 · 879 阅读 · 0 评论 -
智能指针之weak_ptr
循环引用:引用计数是一种便利的内存管理机制,但它有一个很大的缺点,那就是不能管理循环引用的对象。一个简单的例子如下:#include<string>#include<iostream>#include<boost/shared_ptr.hpp>#include<boost/weak_ptr.hpp>class parent;class children;typedef boost::shared_ptr<parent> p...转载 2021-03-04 22:38:08 · 234 阅读 · 2 评论 -
c++ 藏经阁
《Thinking in C++》 《C++ 编程思想》Bruce Eckel, Chuck Allison 著. 刘宗田, et al. 译. C++ 编程思想[M]. 北京:机械工业出版社, 2016. 翻译生硬,逻辑不清晰,至少模板章节很烂; 《Using the C++ Standard Template Libraries》 《C++ 标准模板库编程实战》Ivor Horton 著, 郭小虎. 程聪. 译. C++ 标准模板库编程实战[M]. 北京:清华大学出版社, 2017...原创 2021-05-31 20:21:49 · 332 阅读 · 0 评论 -
数组使用多态-秘诀2
为什么不要对数组使用多态?因为通过基类指针去删除派生类对象,这是一个不正确的行为。class CBST{};class CPBST: public CBST{};原创 2021-07-05 21:24:06 · 374 阅读 · 0 评论