
C++
2014wzy
这个作者很懒,什么都没留下…
展开
-
explicit关键字
C++中, 一个参数的构造函数(或者除了第一个参数外其余参数都有默认值的多参构造函数), 承担了两个角色。 1 是构造器 ,2 是默认且隐含的类型转换操作符。explicit构造函数是用来防止隐式转换的。[cpp] view plain copyclass Test1 { public: Test1(int转载 2016-08-17 21:16:16 · 524 阅读 · 0 评论 -
关于C++ const 的全面总结
http://blog.youkuaiyun.com/Eric_Jo/article/details/4138548转载 2017-04-25 19:36:20 · 428 阅读 · 0 评论 -
C++笔记:面向对象编程基础
面向对象编程基础面向对象编程基于三个基本概念:数据抽象-类继承-基类/派生类动态绑定-基类的函数or派生类的函数面向对象编程概述面向对象编程的关键思想是多态性(polymorphism)。多态性派生于一个希腊单词,意思是“许多形态”,之所以称通过继承而相关联的类型为多态类型,是因为在许多情况下可以互换地使用派生类型或基类型的“许多形态”。在C++中,多态性仅用于转载 2017-04-06 21:46:59 · 337 阅读 · 0 评论 -
那些不能遗忘的知识点回顾——C/C++系列(笔试面试高频题)
有那么一些零碎的小知识点,偶尔很迷惑,偶尔被忽略,偶然却发现它们很重要,这段时间正好在温习这些,就整理在这里,一起学习一起提高!后面还会继续补充。——前言1.面向对象的特性 封装、继承、多态。 封装:把客观事物封装成抽象的类,并且类可以把自己的数据和方法只让可信的类或者对象操作,对不可信的进行信息隐藏。(优点:可以隐藏实现细节,使得代码模块化) 继承:可以使用现有类的所有转载 2017-04-19 15:14:17 · 1027 阅读 · 0 评论 -
linux下gcc/g++的命令和使用详解
[介绍] gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步 1.预处理,生成.i的文件[预处理器cpp] 2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs] 3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as] 4.连接目标代码,生成可执行程序[链接器ld] [参数详解] -x l转载 2017-04-01 16:06:22 · 3485 阅读 · 1 评论 -
gcc与g++的区别
一:gcc与g++比较编译c/c++代码的时候,有人用gcc,有人用g++,于是各种说法都来了,譬如c代码用gcc,而 c++代码用g++,或者说编译用gcc,链接用g++,一时也不知哪个说法正确,如果再遇上个extern "C",分歧就更多了,这里我想作个了结,毕竟知识的目的是令人更清醒,而不是更糊涂。 误区一:gcc只能编译c代码,g++只能编译c++代码两者都可以,但是请原创 2017-04-01 15:53:55 · 456 阅读 · 0 评论 -
C++笔记: 面向对象编程进阶
转换与继承派生类到基类到自动转换派生类指针 ----> 基类指针 --/-> 派生类指针派生类对象 --/-> 基类对象 --/-> 派生类对象派生类对象的引用或指针可以自动转换为基类子对象的引用或指针。(因为派生类对象也是基类对象)没有从基类引用或指针到派生类引用或指针的自动转换。(一个基类对象可能是也可能不是一个派生类对象的部分)虽然一般可以使用派生类型的对象对基类类型转载 2017-04-07 16:31:19 · 415 阅读 · 0 评论 -
修练8年C++面向对象程序设计之体会(文章不错)
1回顶部 六年前,我刚热恋“面向对象”(Object-Oriented)时,一口气记住了近十个定义。六年后,我从几十万行程序中滚爬出来准备写点心得体会时,却无法解释什么是“面向对象”,就象说不清楚什么是数学那样。软件工程中的时髦术语“面向对象分析”和“面向对象设计”,通常是针对“需求分析”和“系统设计”环节的。“面向对象”有几大学派,就象如来佛、上帝和真主用各自的方式定义了这个世界,并留转载 2017-04-07 16:03:25 · 1136 阅读 · 0 评论 -
C++封装、继承、多态
C++封装继承多态总结面向对象的三个基本特征面向对象的三个基本特征是:封装、继承、多态。其中,封装可以隐藏实现细节,使得代码模块化;继承可以扩展已存在的代码模块(类);它们的目的都是为了——代码重用。而多态则是为了实现另一个目的——接口重用!封装转载 2016-08-12 11:33:21 · 888 阅读 · 0 评论 -
关于C++ const 的全面总结
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用 如下表所示:No.作用说明参考代码转载 2016-08-19 16:20:20 · 355 阅读 · 0 评论 -
Boost中的锁
原来以为自己很喜欢多线程的程序,可是当真正调试起来却发现很麻烦,你不得不考虑锁的力度,现在我的问题是本该对数据加锁,C++的容器默认是非线程安全的,一个线程读,另一个线程写,迭代器很容易就会指到错误的范围地址,可是程序写到这个程度了也要快毕业答辩了,怎么可能把全部的东西都推到重写啊,想想也只有对代码进行加锁了,虽然效率会低很多吧,Boost 库中有,一般的锁,读写锁,还有一种可重入的递归锁。转载 2016-08-18 21:37:05 · 449 阅读 · 0 评论 -
虚函数和纯虚函数的区别
首先:强调一个概念定义一个函数为虚函数,不代表函数为不被实现的函数。定义他为虚函数是为了允许用基类的指针来调用子类的这个函数。定义一个函数为纯虚函数,才代表函数没有被实现。定义纯虚函数是为了实现一个接口,起到一个规范的作用,规范继承这个类的程序员必须实现这个函数。1、简介假设我们有下面的类层次:[cpp] view plain copy转载 2016-08-18 21:34:15 · 307 阅读 · 0 评论 -
inline 内联关键字
介绍内联函数之前,有必要介绍一下预处理宏。内联函数的功能和预处理宏的功能相似。相信大家都用过预处理宏,我们会经常定义一些宏,如#define TABLE_COMP(x) ((x)> 0?(x):0) 就定义了一个宏。 为什么要使用宏呢?因为函数的调用必须要将程序执行的顺序转移到函数所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执行该函原创 2016-08-18 21:25:19 · 385 阅读 · 0 评论 -
C++中的类模板Template可以什么时候用
多个类有着共同操作,但是数据类型不同。如下的3个类,getMax的功能是相同的,即求两个数中的最大值,仅仅是数据类型不同。 Cpp代码 class Compare_int { private: int x,y; public: Compare(int a,int b)原创 2016-08-18 12:32:50 · 4450 阅读 · 1 评论 -
C++模板
模板是C++支持参数化多态的工具,使用模板可以使用户为类或者函数声明一种一般模式,使得类中的某些数据成员或者成员函数的参数、返回值取得任意类型。 模板是一种对类型进行参数化的工具; 通常有两种形式:函数模板和类模板; 函数模板针对仅参数类型不同的函数; 类模板针对仅数据成员和成员函数类型不同的类。 使用模板的目的就是能够让程序员编写与类型无关的代码转载 2016-08-18 10:32:39 · 359 阅读 · 0 评论 -
c++那些陌生的关键字解析
学过程序语言的人相信对关键字并不陌生。偶然间翻起了《C++ Primer》这本书,书中列举了所有C++的关键字。我认真核对了一下,竟然发现有若干个从未使用过的关键字。一时间对一个学了六年C++的自己狠狠鄙视了一番,下决心一定要把它们搞明白!图1红色字体给出的是我个人感觉一般大家都会比较陌生的关键字,下边我们逐个学习。图1 C++ 关键字一、typeid从名字直观看来,该关键字应原创 2016-08-17 21:41:52 · 482 阅读 · 0 评论 -
c++所有关键字
C++ 全部关键字 (1)auto 这个这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有的变量默认就是auto的。(2)register 这个关键字命令编译器尽可能的将变量存在CPU内部寄存器中而不是通过内存寻址访问以提高效率。(3)st转载 2016-08-17 21:35:48 · 2119 阅读 · 0 评论 -
C++封装DLL并调用
身为学渣,总是学完就忘,所以写下来方便自己以后查看,也是为其他小白提供一点思路。参考的资料:http://blog.youkuaiyun.com/u011221078/article/details/41308217http://blog.sina.com.cn/s/blog_7939cf980102v052.html一、生成DLLVS2013——建立win32转载 2017-07-29 21:42:02 · 2722 阅读 · 0 评论