随笔分类 - c++
摘要:参考文章https://blog.csdn.net/pongba/article/details/7911997 什么是RAII 技术?(参见百度百科相关条目) RAII(Resource Acquisition Is Initialization)是一种利用对象生命周期来控制程序资源(如内存、文件
阅读全文
摘要:一、shared_ptr学习 1.shared_ptr和weak_ptr 基础概念 shared_ptr与weak_ptr智能指针均是C++ RAII的一种应用,可用于动态资源管理 shared_ptr基于“引用计数”模型实现,多个shared_ptr可指向同一个动态对象,并维护了一个共享的引用计数
阅读全文
摘要:我们都知道dynamic_cast会在运行时进行类型检查,比较安全,static_cast静态转换,不安全 dynamic_cast转换的类型必须是个类,且这个类中必须有虚函数,为什么呢? 虚函数对于dynamic_cast转换的作用 为何使用dynamic_cast转换类指针时,需要虚函数呢。 D
阅读全文
摘要:这个问题的背景是在用libevent的buffer_remove时出现的,写一个伪代码 在这里断点调试时发现buffer的数据是正确的,转到str时,总会在字符串的结尾出现几个乱七八糟的字符且每次都不一样. 下面说一下原因,首先我们都知道每个字符串是以'\0'(即0)结尾的,而buffer_remo
阅读全文
摘要:这样就会崩溃,可以用memset 或者结构体中加入一个别的类型的对象, 另外string 用mallo分配内存也会出错,因为malloc不会调用string的构造函数,所以应用new
阅读全文
摘要:1.TCHAR 2.string的c.str() 使用时要注意,当这样用时 string s="123"; char *c = s.c_str(); 其实是错误的,这和char *直接赋值一样,如果s是一个局部变量,离开作用域后内存销毁,再调用c就会出错,要用正确的方法strcpy(),前提是记得申
阅读全文
摘要:c++中对new申请的内存的释放方式有delete和delete[两种方式,到底这两者有什么区别呢? 1.我们通常从教科书上看到这样的说明:delete 释放new分配的单个对象指针指向的内存delete[] 释放new分配的对象数组指针指向的内存那么,按照教科书的理解,我们看下下面的代码:int
阅读全文
摘要:代码不完善,大概是这个思路,赋值,拷贝构造,析构时都要考虑引用次数
阅读全文
摘要:部分参考地址https://blog.csdn.net/yanglingwell/article/details/56011576 auto_ptr是c++标准库里的智能指针,但是具有以下几个明显的缺陷,使用时要注意 1.就是所谓的控制权转移,下面是模拟代码 在赋值运算符重载和拷贝构造函数中将资源转
阅读全文
摘要:先上一段代码 using namespace std;class A{public: ~A(){ cout << "deconstruct"; };};#include "vector"int main(){ vector<A*>a(100); A *aaa = new A; a.push_back
阅读全文
摘要:1 class IMyLock 2 { 3 public: 4 virtual ~IMyLock(){} 5 6 virtual void Lock() const = 0; 7 virtual void UnLock() const = 0; 8 }; 9 10 class Mutex : public IMyLock 11 { 12 public...
阅读全文
摘要:1 namespace 2 { 3 UINT_T GetWriteSizeForNoBuf(UINT_T fsize) 4 { 5 UINT_T write_buf_size = 0; 6 if (fsize % 512 == 0) 7 { 8 write_buf_size ...
阅读全文
摘要:C++的输入输出分为三种: (1)基于控制台的I/O (2)基于文件的I/O (3)基于字符串的I/O 其中基于字符串io的ostringstream可以这么用 ostringstream s_a; s_a<<"my name is wsw"; string s_name = s_a.str();
阅读全文
摘要:1.利用c++11新特性 std::wstring_convert配合std::codecvt模板类 作者:Gomo Psivarh链接:https://www.zhihu.com/question/39186934/answer/80443490来源:知乎著作权归作者所有。商业转载请联系作者获得授
阅读全文
摘要:看到了几篇讲的不错的博客,这里收集起来 不明白的地方互相参考 https://blog.csdn.net/fangqingan_java/article/details/9320769 https://blog.csdn.net/michael019/article/details/48714303
阅读全文
摘要:#include <stdio.h> #include <iostream> #include <mutex> class TestClass; template<class T> class CSingleton{ public: static T& Instance(); }; template
阅读全文
摘要:转自https://blog.csdn.net/wangshubo1989/article/details/52133213 有很多东西我们一直在用,但是不知道他的名字。 什么是RAII? RAII是Resource Acquisition Is Initialization的缩写,用普通话将就是”
阅读全文

浙公网安备 33010602011771号