c/c++
文章平均质量分 67
peach_man
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C++智能指针(一)
c++作为一种相对底层的语言,一直以来没有提供内存的自动回收技术,但是提供了很多简单的内存管理工具,帮助我们高效、安全的管理内存。其中最为重要的就是智能指针,本系列文章主要就是讲讲c++智能指针的发展与正确使用。 今天先来讲讲最早的智能指针auto_ptr,同时也是最简单的智能指针。auto_ptr在第一版C++标准c++98中一起发布,使用简单的RAII来管理内存。用法很简单。#include原创 2017-11-02 21:48:23 · 464 阅读 · 0 评论 -
c++小技巧(一)模版类不同具化类之间的转换
很多时候我们会写出下面这样的代码template <typename T>class A{public: A(T _a):m_a(_a){} void print() { cout<<m_a<<endl; } T m_a;};int main(){ A<int> aint(20); A<f原创 2017-11-02 23:19:34 · 1279 阅读 · 0 评论 -
c++构造与析构
. 我们都知道写一个c++空类,编辑器主动帮我们生成了如下4个主要的成员函数{ public: Point();//默认构造函数 ~Point();//默认的析构函数 Point(Point& _p) //拷贝构造函数 Point& operator=(Point &_p)//重载赋值操作符};这其中一定要区分构造函数和普通函数,构造函数是创建一个原创 2017-05-07 22:52:09 · 431 阅读 · 0 评论 -
c++小技巧(二)函数参数可以利用中间变量转换
很多时候由于一些限制,我们的函数声明参数只能为一种类型。然而我们的实参又必须要兼容另一种类型,这时候就可以利用一个中间类型,来进行一个隐式转换。典型的例子就是c++ auto_ptr的实现。 auto_ptr所界定的是一种严格的拥有权观念,也就是说auto_ptr的copy构造函数和赋值函数都是拥有权的转移,我们需要在函数中修改auto_ptr本身。也就是说auto_ptr的copy构造函数参数不原创 2017-11-12 22:33:22 · 681 阅读 · 0 评论 -
c++小技巧(三)更好的类型转换implicit_cast和down_cast
在C++中有四种类型转换1.static_cast:这个是最常用的类型转换,凡是C++隐式执行的类型转换都可以用static_cast显式完成。在隐式转换时有时编译器会有警告信息,但是显示转换(使用static_cast)就不会有。static_cast还会进行一些基础的类型检查,能在编译期发现错误。float f=0;int a=(int)f; //强行转换,可能会有警告int a=...原创 2018-03-15 17:04:01 · 7651 阅读 · 4 评论
分享