• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
我叫周某某
路漫漫其修远兮 吾将上下而求索
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理

随笔分类 -  C/C++

 
C++风格的强制性类型转换
摘要:显示类型转换被称为强制类型转换(cast)C风格:(type_id)C++风格:static_cast, dynamic_cast, reinterpret_cast, const_cast在《C++的设计和演化》中告诉我们,解决强制性类型转换的最好的解决方法是使用标准的C++的类型转换,也就是上面... 阅读全文
posted @ 2015-07-16 14:15 周某某 阅读(436) 评论(0) 推荐(0)
VS2010/12多核编译
摘要:在工作中,我们的一个完整的项目肯定是由多个个解决方案组成的,我们在调试的时候就会不断的去编译修改过的解决方案,如果当修改的解决方案多了以后我们编译的速度就在很大的程度上决定了我们的工作效率。这时候我们就可以利用多核编译。 在VS2010和VS2012中我们需要修改一下两个参数:项目 -> 配置... 阅读全文
posted @ 2015-07-15 20:42 周某某 阅读(904) 评论(0) 推荐(0)
void指针
摘要:1.void指针是一种特别的指针 它没有类型或者说这个类型不能判断出指向对象的长度 2.任何指针都可以赋值给void指针 不需转换,只获得变量/对象地址而不获得大小 3.void指针赋值给其他类型的指针时都要进行转换(type *p=(type*)vp) 转换类型也就是获得指向变量/对象大小 4.void指针不能复引用( *vp:这样是错误的) 因为void指针只知道,指向变量/对... 阅读全文
posted @ 2015-05-07 14:45 周某某 阅读(292) 评论(0) 推荐(0)
纯虚函数和抽象类
摘要:纯虚函数: 在许多情况下,在基类中没有必要给出有意义的虚函数定义,这时可以把它说明成纯虚函数,把它的定义的工作留给派生类来做。定义纯虚函数的一般形式为: class 类名 { virtual 返回值类型 函数名(参数表)= 0; // 后面的"= 0"是必须的,否则,就成虚函数了 } 纯虚函数是一个在基类中说明的虚函数,但是它在基类中没有定义,在派生类中根据自己的需要定义自... 阅读全文
posted @ 2015-05-05 14:08 周某某 阅读(517) 评论(0) 推荐(0)
多重继承下的virtual functions
摘要:有如下图所示的继承关系: 有如下代码示例: 在早期的未符合c++标准的的编译器上是会报错的,因为对于clone()函数来说,编译器不知道怎么处理处理。但是时至今日c++做了修改,那么这是怎么实现的呢? 这个问题有以下两种解决方案: 一种是在虚函数表中不光存放真正调用函数的地址,还存上需要对this指针进行调整的偏移,在调用时,直接给this指针加... 阅读全文
posted @ 2015-05-04 17:04 周某某 阅读(236) 评论(0) 推荐(0)
virtual member functions(单一继承情况)
摘要:virtual member functions的实现(就单一继承而言): 1.实现:首先会给有多态的class object身上增加两个members:一个字符串或数字便是class的类型,一个是指针,指向某表格,表格中带有程序的virtual functions的执行期的地址(具体一点是一个offset,相对于对象首地址的偏移量),表格中的地址是在编译期被建立起来的,而且这一组地址是固定不... 阅读全文
posted @ 2015-05-04 13:29 周某某 阅读(233) 评论(0) 推荐(0)
C++中结构和类的区别
摘要:首先从从语言角度来看,c语言是一种结构化的语言,便于按照模块化的方式来组织程序,易于程序员的调试和维护,而对于c++来说,我么可以认为它是标准c的超集。实际上所有的c程序也是c++程序。但两者之间还是有少量的区别。 区别: 结构是C语言中的一种数据的组合的形式,c++从c中继承了结构。在语法上,类与结构类似。在关系上,两者也是很接近的。在c++中,结构的作用被拓宽了。在一定的程度上结构成了一种... 阅读全文
posted @ 2015-04-24 12:51 周某某 阅读(424) 评论(0) 推荐(0)
fill函数和fill_n函数
摘要:fill_n函数的作用是:给你一个起始点,然后再给你一个数值count和val。把从起始点开始依次赋予count个元素val的值。 注意: 不能在没有元素的空容器上调用fill_n函数 列子: fill函数的作用是:将一个区间的元素都赋予val值。函数参数:fill(first,last,val);//first为容器的首迭代器,last为容器的末迭代器,val为将要替换的值... 阅读全文
posted @ 2015-04-21 21:57 周某某 阅读(617) 评论(0) 推荐(0)
cin,和几个get函数的用法
摘要:1.cin.get(字符变量名):用来接收字符 ch = cin.get(); cin.get(ch); 以上两者均可以 2.cin.get(字符数组名,接收字符数目)用来接收一行字符串,可以接收空格 cin.get(a,20);a为字符数组名 3.cin.get(),用来了过滤你输入字符串中的不需要的字符。 4.cin.getline():获取一个字符串,可以有空格并输出 ... 阅读全文
posted @ 2015-04-19 15:59 周某某 阅读(1519) 评论(0) 推荐(0)
程序运行中(BSS段、数据段、代码段、堆栈)
摘要:程序运行中(BSS段、数据段、代码段、堆栈) BSS段:(bss segment)通常是指用来存放程序中未初始化的全局变量的一块内存区域。BSS是英文Block Started by Symbol的简称。BSS段属于静态内存分配。 数据段 :数据段(data segment)通常是指用来存放程序中 已初始化 的 全局变量 的一块内存区域。数据段属于静态内存分配。 代码段: 代码段(code ... 阅读全文
posted @ 2015-04-18 17:40 周某某 阅读(1154) 评论(0) 推荐(0)
指针和引用
摘要:1.引用是已经定义变量的别名。必须在申明引用的时候进行初始化。引用更接近于const指针,一旦和某个变脸关联起来就一直效忠于它,不能改变(可以通过初始化来设置引用,但是不能通过赋值来设置)。 2.传引用传递引用和值不同的一点就是,在函数中,传值得话,在函数内部还会创建一个临时的变量,但是传应用的话就不会,因为引用和需要传进来值就是同一份值。 3.和传址的区别,除了他们在函数中申明的方式不一样,... 阅读全文
posted @ 2015-04-13 13:21 周某某 阅读(156) 评论(0) 推荐(0)
内联函数
摘要:1.c++中的内联函数和常规函数一样,它们都是函数。也是按值传递的,如果参数是4+7,函数就会被传递为表达式的值,但是宏就不一样了,它就是进行单纯的替换而已,那么在面对定义宏的时候,如果没有处理好的话就会生成我们意想不到的值,这不是我们想要的(在一定的程度上,使用宏没有使用内联函数安全。如果定义的宏能用内联函数实现就尽量用内联函数来实现)。 2.和普通函数相比,在一定的程度上类联函数的相率是要高... 阅读全文
posted @ 2015-04-13 10:58 周某某 阅读(186) 评论(0) 推荐(0)
内存分配(c/c++)
摘要:C++中内存分配 内存分成5个区,他们分别是堆、栈、自由存储区、全局/静态存储区和常量存储区。 1,栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。 2,堆,就是那些由new分配的内存块,他们的释放编译器不去管,由我们的应用程序去控制,一般一个new就要对应一个dele... 阅读全文
posted @ 2015-04-12 17:38 周某某 阅读(178) 评论(0) 推荐(0)
虚析构函数
摘要:虚析构函数是为了解决基类的指针指向派生类对象,并用基类的指针删除派生类对象。 如果某个类不包含虚函数,那一般是表示它将不作为一个基类来使用。当一个类不准备作为基类使用时,使析构函数为虚一般是个坏主意。因为它会为类增加一个虚函数表,使得对象的体积翻倍,还有可能降低其可移植性。 所以基本的一条是:无故的声明虚析构函数和永远不去声明一样是错误的。实际上,很多人这样总结:当且仅当类里包含至少一个虚函数... 阅读全文
posted @ 2015-04-10 11:14 周某某 阅读(203) 评论(0) 推荐(0)
static小结
摘要:static是c/c++中的关键字,主要有三种用法:(1)局部静态变量2)外部静态变量/函数(3)静态数据成员/成员函数一、局部静态变量c/c++局部变量的三种存储形式:auto, static,register1.auto类型分配在栈上, 属于动态存储类别,占动态存储区空间, 函数调用结束后自动释... 阅读全文
posted @ 2015-04-10 10:42 周某某 阅读(170) 评论(0) 推荐(0)
 


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3