自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 Aurorelease机制

关于AutoreleasePool的理解

2017-09-12 22:30:10 267

原创 sizeof 与strlen()区别

写这篇文章的意思是有纪念之意,当初面试遇到类似题目,虽简单,但涉及内存问题简化问题让我印象深刻15:11:34ji 2015/12/16 15:11:341.与strlen()比较strlen计算字符数组的字符数,以"\0"为结束判断,不计算为'\0'的数组元素。sizeof计算数据(包括数组、变量、类型、结构体等)所占内存空间,用字节数表示(当然用在字符数组计

2015-12-16 15:12:38 267

原创 所谓顶层const与底层const

老实说经过这么多年读书有点读傻了,当然其中一部分是自己的原因,一部分是书籍的原因。我一直以为有些时候专业术语真是对人们的一种摧残,例如这种在C++primer第5版中定义是这样的  顶层const 表示指针本身是个常量,底层const表示的是指针所指向的对象时一个常量。如果脑子不清醒的人如我一下在就蒙了,这是什么鬼其实举一个例子一句话就解决,就是看const 的位置int

2015-12-16 15:08:29 686 1

原创 指针进阶之指针运算

当初博主在大学学指针的时候可谓是一头包,尤其后面学到二维指针,什么指针数组啊,指针字符串啊。什么的更是云里雾里。不明其中道理其中如果涉及到指针运算什么的更是痛不欲死。现简单的将我当时遇到的情况以及如何解决的过程思路分享出来指针及数组我们简单定义一个数组int array[5];array是数组名,array代表的是数组整块内存,即sizeof(array)= = 20假设s

2015-12-16 15:01:22 385

转载 指针部分疑点解释

从概念上来讲,指针其实是一种数据类型。我们从最简单的数据讲起;int i = 5;上面这句很简单,大家都知道,定义了一个整型变量a,并初始化其值为5。究其根本,我们看看系统做了什么——编译的时候系统向内存申请了2个字节(C的讲法,C++是4个字节)的空间,即16位,这两个字节是紧邻的,这只是第一步;第二步是在程序执行的时候,系统将整数常量5赋值给变量a,即将00000000000001

2015-12-16 14:35:46 263

转载 编程风格

编程风格虽然不会影响程序的功能,但会影响可读性。程序的版式追求清晰、美观,是程序风格的重要构成因素。1. 空行空行起着分隔程序段落的作用。空行得体(不能过多也不能过少)将使程序的布局更加清晰。空行不会浪费内存,虽然打印含有空行的程序是会多消耗一些纸张,但是值得。所以不要舍不得用空行。 ¯        在每个类声明之后、每个函数定义结束之后都要加空行。例如:

2015-12-16 14:33:55 263

原创 windows下的几种通讯方式之TCP

网络客户端开发(TCP)#pragma comment(lib,Ws2_32.lib")#include #include using namespace stdvoid main(){coutSOCKET socket;struct sockaddr_in add;int servport = 5000;char buff[256];int len

2015-12-16 12:25:07 1184

转载 类的深拷贝与浅拷贝

拷贝构造函数是类中的一个特殊的成员函数,同时拷贝构造函数也是构造函数的一种,其函数名与类名相同,无返回类型,其作用也是为类的成员初始化以及为对象的构造分配存储空间,不同的是,拷贝构造函数的参数只有一个,且必须为该类对象的引用。        拷贝构造函数只有在使用一个对象初始化另外一个对象时才会使用,让我们从简单的说起:int a = 10;int b = a;co

2015-12-16 12:03:27 380

转载 堆和栈的区别

堆和栈是两个不用概念(转自百度知道,略有修改)一、预备知识—程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分:1、栈区(stack)——由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap)——一般由程序员分配释放,若程序员不释放,程序结束时可能由OS(Operating System)回收 。注意它与

2015-12-16 12:00:21 225

转载 成员函数的重载、覆盖与隐藏

成员函数的重载、覆盖与隐藏    成员函数的重载、覆盖(override)与隐藏很容易混淆,C++程序员必须要搞清楚概念,否则错误将防不胜防。1.1 重载与覆盖    成员函数被重载的特征:(1)相同的范围(在同一个类中);(2)函数名字相同;(3)参数不同;(4)virtual关键字可有可无。    覆盖是指派生类函数覆盖基类函数,

2015-12-16 11:59:11 216

转载 浅析在对象中析构函数为何定义为虚函数

首先我们需要知道为什么基类的析构函数是虚函数:因为在实现多态时候,当基类操作派生类,在析构时防止只析构基类而不析构派生类的状况发生从而造成内存泄露之类的问题。在这一段的解释中,我们的关注点应该在1.基类操作派生类2.只析构基类下面有几个例子#include using namspace std;class Base{Base() {};~Base(){cout<<"

2015-10-21 16:25:16 318

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除