C++ —— 笔记汇总
| 导读 |
本文仅用于记录在个人在使用C++过程中的遇到一些的疑问和概念。 |
| 目录 |
1、块域 2、static 作用域 3、RAII 4、const char * 组合使用 5、C++命名规范(一般原则、匈牙利命名法、某公司应用实例) 6、重载overload、重写override、重定义redifining 的差别 7、初始化列表作用 8、格式化输入输出 9、template 中的class 和 typename 10、cin 11、强制类型转换 12、常见容器
0、c++教程
1、C++中的块域{}
2、static变量 及 作用域控制
3、C++资源管理的利器——RAII惯用法(“Resource Acquisition Is Initialization”)
链接:http://www.cnblogs.com/hsinwang/articles/214663.html
4、char* 与 char[] 的差别 + const-char-* 的理解
链接:http://blog.csdn.net/zhuzhihai1988/article/details/7726132
5、C++命名规则: (1) (2) (类名以及方法名第一个字母大写,库类除外,如string。)
某公司的C++命名规范: (5)
6、重载overload、重写override、重定义redifining 的差别 :http://www.cnblogs.com/BeyondTechnology/archive/2010/09/20/1831441.html
7、构造函数初始化列表作用:对数据域的基本类型、对象进行赋值;还可以用于初始化 父类没有无参构造函数的情况时 的构造函数,
比如logic_error 没有无参构造函数,继承logic_error 必须在子类的 构造函数签名后面加上—— “:logic_error("Logic error happens!")”
8、格式化输入输出:http://blog.csdn.net/chenggil10/article/details/4181649
http://wenwen.sogou.com/z/q347507263.htm
9、template 中的 class 和 typename 的区别
10、cin是istream类的一个C++预定义对象。而istream重载了void * 和!等等一些运算符,代码cin>>a之后返回还是一个cin对象的引用,此时cin会测试是否达到
文件末尾(会设置eofbit位),或者流出错(设置badbit或者failbit)。
11、C++中的 四种强制类型转换
12、1)常见容器:list,vector,deque有什么区别
主要内容:各种顺序容器的比较,存储、操作的区别
链接: http://cutely606.blog.163.com/blog/static/26607977201191653517926/
2)vector中erase用法注意事项
主要内容:删除vector中某个特定元素(使用iterator的注意事项)
链接: http://blog.csdn.net/daofengdeba/article/details/7865229
1、fopen函数 2、文件操作 3、产生随机数 4、各种类型转换成字符串 5、cstring、string、char* 之间互相转换
1、fopen("fileName.fileType","pattern") 可以同时打开同一个文件而不出错,原理如下:
fopen():(1)在磁盘找到指定文件
(2)在内存中分配保存一个FILE类型结构的单元(16B或32B)
(3)在内存中分配文件缓冲区单元(512B)
(4)返回FILE结构地址(回送给fp)
2、C常用函数: C文件流I/O操作:FILE类型
C与C++ 文件操作的区别 总结:http://blog.sina.com.cn/s/blog_6e7fed390100z0j1.html
C++ fstream 类的 函数eof() 使用要注意,只有当读取失败发现没啥可读时,
才将 eofbit 位置为1:http://blog.csdn.net/shuilan0066/article/details/4669451
3、 产生随机数:链接
4、各种类型 转成字符串 链接:http://www.cnblogs.com/luxiaoxun/archive/2012/08/03/2621803.html
5、cstring、string、char* 之间的互相转换 :http://www.cnblogs.com/bluestorm/p/3168720.html
string 转为 char* 的三个函数 c_str()、data()、copy(p,n)的用法 :http://www.cnblogs.com/qlwy/archive/2012/03/25/2416937.html
string::c_str() 详解:http://blog.csdn.net/jinzhilong580231/article/details/7161168
1、模块结束时异常结束可能原因 2、delete和delete[] 2、不要返回临时对象指针 3、返回局部结构体变量 4、以const 方式传入对象的参数,只能使用类的const函数
1、程序在 模块 结束时异常结束,有可能是 析构对象时,delete 了野指针。
解决:1、特别注意函数参数 谨慎使用 对象的值传递。对象参数最好使用引用传递。
2、若一定要使用 值传递,需要 实现 拷贝构造函数 进行深复制。
2、delete和delete[] 使用的区别
链接: http://yiyunscu.blog.163.com/blog/static/3626332020105102623649/
3、error: invalid initialization of non-const reference of type "MyString&" from a temporary of type "MyString*";
问题:MyString &Function(); 无法用函数中的 MyString 的临时对象来 对 MyString 非常量引用 进行初始化
解决:不要返回栈临时对象,应该返回在堆里分配的变量。
4、返回局部结构体变量 相当于 返回一个基础类型的局部变量,不同于对象的临时变量的返回。
5、以const 方式传入对象的参数,只能使用类的const函数
1、编译错误:expected type-specifier (多文件编译问题)
1、编译错误:遇到 expected type-specifier before 'XXX' 应该考虑下可能是出于什么原因导致 编译器 无法及时使用某些头文件的声明 或 没用 "命名空间 using namespace XX;"。
多文件的编译问题:
从使用的角度:http://blog.csdn.net/gexiaobaohelloworld/article/details/7293230
从原理的角度:http://blog.sina.com.cn/s/blog_482f7c480100fr74.html
1、C/C++中文网
主要内容:C++初步知识,C++基础知识
链接:http://see.xidian.edu.cn/cpp/biancheng/cpp/rumen_1/
2、C++库介绍-标准库、类库
链接:http://www.cnblogs.com/chio/articles/806468.html#1
C++ —— 笔记汇总的更多相关文章
- 读书笔记汇总 - SQL必知必会(第4版)
本系列记录并分享学习SQL的过程,主要内容为SQL的基础概念及练习过程. 书目信息 中文名:<SQL必知必会(第4版)> 英文名:<Sams Teach Yourself SQL i ...
- MySQL笔记汇总
[目录] MySQL笔记汇总 一.mysql简介 数据简介 结构化查询语言 二.mysql命令行操作 三.数据库(表)更改 表相关 字段相关 索引相关 表引擎操作 四.数据库类型 数字型 字符串型 日 ...
- NGUI学习笔记汇总
NGUI学习笔记汇总,适用于NGUI2.x,NGUI3.x 一.NGUI的直接用法 1. Attach a Collider:表示为NGUI的某些物体添加碰撞器,如果界面是用NGUI做的,只能这样添加 ...
- 读书笔记汇总 --- 用Python写网络爬虫
本系列记录并分享:学习利用Python写网络爬虫的过程. 书目信息 Link 书名: 用Python写网络爬虫 作者: [澳]理查德 劳森(Richard Lawson) 原版名称: web scra ...
- ST官方翻译的中文应用笔记汇总
ST官方翻译的中文应用笔记汇总 http://www.51hei.com/stm32/3382.html 官方中文AN:AN3116:STM32? 的 ADC 模式及其应用AN1015:用于提高微控制 ...
- Spring研磨分析、Quartz任务调度、Hibernate深入浅出系列文章笔记汇总
Spring研磨分析.Quartz任务调度.Hibernate深入浅出系列文章笔记汇总 置顶2017年04月27日 10:46:45 阅读数:1213 这系列文章主要是对Spring.Quartz.H ...
- ES6 笔记汇总
ES6 笔记汇总 二.ES6基础-let和const命令 三.变量的解构赋值 四.字符串的拓展 五.正则表达式的拓展 ...将会持续更新,敬请期待
- 【笔记目录2】【jessetalk 】ASP.NET Core快速入门_学习笔记汇总
当前标签: ASP.NET Core快速入门 共2页: 上一页 1 2 任务27:Middleware管道介绍 GASA 2019-02-12 20:07 阅读:15 评论:0 任务26:dotne ...
- SpringBoot+MyBatis练手项目笔记汇总
以下是我在练习SpringBoot+MyBatis训练时候个人一些笔记汇总(可以点击跳转),献丑了,网上很多大佬的文章都比我写的详细,一些好的文章,我会将贴到各个内容中. 1. 插入数据返回id和内部 ...
- JQuery笔记汇总
jQuery相关资料 官网: jQuery官网 在线API: jQuery在线API W3School:W3School-jQuery教程(中文版哦) 下载jQuery:jQuery各版本下载 jQu ...
随机推荐
- css.day02
1.复合选择器 复合选择器 一般会有几个标签混合使用 .把多个组合成一个 称之为复合 1.1标签指定式 复合选择器 (交集选择器) 格式: 标记选择器+ 类名/ID名称 { 属性:值;} 实际情况用 ...
- project facet java version 1.6 is not supported
可能你用的jdk1.5的包,而开发是用的jdk1.6,不允许1.5进行安装 法1,选中项目 Properties , 选择 Project Facets,右击选择 Java , Change Vers ...
- Mac OS X 10.9 Mavericks 修改root密码
Mac10.9忘记密码后有两种方式可以进去: 代码如下 复制代码 1.sudo passwd 重新输入密码即可,此方法修改了root的密码 代码如下 复制代码 2.sudo bash 输入当前用户 ...
- 查看library_cache 库缓冲区的命中率
关于library cache的命中率: SQL> desc V$librarycache NAMESPACE ...
- Delphi 封装Frame到Dll文件
做项目的时候,发现这个Frame很好用,为了省空间.调用和修改方便,就将Frame封装到dll(动态链接库)里面,确实很好使. 效果图如下: 上图是临时测试用的,忘了将Frame的align设置成al ...
- 解决Eclipse中编辑xml文件的智能提示问题,最简单的是第二种方法。
Eclipse for Android xml 文件代码自动提示功能,介绍Eclipse 编辑器中实现xml 文件代码自动智能提示功能,解决eclipse 代码提示失效.eclipse 不能自动提示. ...
- 卸载mysql时,如何卸载干净!
相信很多朋友在使用mysql的过程中都会遇到这样的问题,安装过程出错,或者想要换个版本,或者不想使用了,这个时候我们都需要完全卸载mysql呢?下面,就来谈一谈我的经验. 1.控制面板——>所有 ...
- PHP json的插入和解析在数据库中的操作
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. PHP中往数据库中存储json数据在项目开发中也经常遇到,下面我就 ...
- 【USACO 1.5.1】数字金字塔
[题目描述] 观察下面的数字金字塔. 写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大.每一步可以走到左下方的点也可以到达右下方的点. 7 3 8 8 1 0 2 7 4 4 4 ...
- Spring4.0学习笔记(9) —— Spring泛型依赖注入
1.定义基础仓库 package com.spring.generic.di; public class BaseRepository<T> { } 2.定义基础服务层 package c ...