C/C++知识大纲(只有作者看得懂的笔记)
c标准库部分冷门函数。
stdio.h char buf[256];
sscanf(buf,"%s",&buf);
sprintf(buf,"Name: %s","xxx");
math.h ceil()向下取整,floor()向上取整
time.h 获取系统时间
struct tm * localtime(const time_t *tod); //将“秒”纸转成“年月日时
time_t mktime(struct tm *tptr); //将“年月日时分秒”转成“
time_t time(time_t * tod); //取得当前时间
struct tm
{
int tm_sec;
int tm_min;
int tm_hour;
int tm_mday;
int tm_mon;
int tm_year;
int tm_wday;
int tm_ydat;
}

time_t now=time(0); //获取系统;
/*计数毫秒级时间*/
time_t start = time(NULL);
for(i=0;i<10000;i++)
{
//...
}
time_t end =time(NULL);
int avg =(end-start)/10000;
stdlib.h
double atof(const char *s);
int atoi(const char *s);
int rand(void);
void srand(unsigned int seed);
int system(const char *s);
string.h
memcpy(dst,scr,n);从src复制n个字节到dst, memcmp(a,b,n);比较n个字节的内容。memmove(dst,src,n)移动数据。
文件操作;
FILE *fopen(const char *filename,const char *mode);
int fclose(FILE *stream);
size_t fwrite(const void *buf ,size_t size,size_t nelem,FILE * stream);
size_t fread(const void *buf ,size_t size,size_t nelem,FILE * stream);
fprintf(); fgets();
fseek(fp,n,str); n跳到100个字节,SEEK_SET(跳到第n个位置)
SEEK_END(跳到第n个位置)SEEK_CUR(跳到当前前n个位置)SEEK_CUR(跳到当前后n个位置)
面向对象OO思想:
1,类与对象,类的封装特性public,private,protect。
2,this指针。
3,类的分离式写法
class Object
{
public:
int x;
void Test();
}
void Object::Test(){printf(".........");}
4,*const对象与const 函数
void Test()const{ ... }
void Test(){ ... } const对应参数列表const否则报错
5,构造与折构
构造初始化特殊写法。
Circle::Circle():x(0),y(0),radius(1);
6,动态创建对象new delete ,对比malloc与free多了初始化
7,继承
class Base
{
protected:
void test(){}
};
class child:public base
{
public:
void test(){}
};
子类继承父类,public可被继承,private不可继承,protect在不继承的情况同private,可继承被公有继承
8,虚拟继承

9,当子类继承与父类,子类对象构造时,先调用父类构造函数,之后调用自己的构造函数。折构过程相反。
10,多继承,子类继承多个父类。
11,继承函数与纯虚函数,c++纯虚函数实现设计模式中的接口,地位等同java的interface,c的回掉机制。总是被子类继承。
用于声明在子类完成这些接口。
12,保护继承,私有继承。
13,拷贝构造函数。默认拷贝/深度拷贝
14,static定义全局变量和函数
static在类中声明变量与普通全局声明相同。类外定义域普通全局变量定义一样;
static声明全局函数同上,无this指针,
15,友元,class A{ friend void fun () ;friend class} ;
B是A的友元,B可访问A,A不可访问B,友元关系单向
16,多态,运算符重载。
17,内部类(避免类名冲突),命名空间
namespace ID{ }
C/C++知识大纲(只有作者看得懂的笔记)的更多相关文章
- [转帖]linux基础知识大纲
linux基础知识大纲 https://blog.csdn.net/CSDN___LYY/article/details/80810403 1.Linux操作系统概述Linux操作系统的发展过程.创始 ...
- java核心-多线程(1)-知识大纲
Thread,整理一份多线程知识大纲,大写意 1.概念介绍 线程 进程 并发 2.基础知识介绍 Java线程类 Thread 静态方法&实例方法 Runnable Callable Futur ...
- Web端即时通讯基础知识补课:一文搞懂跨域的所有问题!
本文原作者: Wizey,作者博客:http://wenshixin.gitee.io,即时通讯网收录时有改动,感谢原作者的无私分享. 1.引言 典型的Web端即时通讯技术应用场景,主要有以下两种形式 ...
- 一看就懂的Android APP开发入门教程
一看就懂的Android APP开发入门教程 作者: 字体:[增加 减小] 类型:转载 这篇文章主要介绍了Android APP开发入门教程,从SDK下载.开发环境搭建.代码编写.APP打包等步骤 ...
- 【算法】变邻域搜索算法(Variable Neighborhood Search,VNS)超详细一看就懂的解析
更多精彩尽在微信公众号[程序猿声] 变邻域搜索算法(Variable Neighborhood Search,VNS)一看就懂的解析 00 目录 局部搜索再次科普 变邻域搜索 造轮子写代码 01 局部 ...
- 干货!上古神器 sed 教程详解,小白也能看的懂
目录: 介绍工作原理正则表达式基本语法数字定址和正则定址基本子命令实战练习 介绍 熟悉 Linux 的同学一定知道大名鼎鼎的 Linux 三剑客,它们是 grep.awk.sed,我们今天要聊的主角就 ...
- mysql取出现在的时间戳和时间时间戳转成人类看得懂的时间
mysql取出现在的时间戳和时间时间戳转成人类看得懂的时间,我们在mysql里面他封装了一个内置的时间戳转化的函数,比如我们现在的时间戳是:1458536709 ,"%Y-%m-%d&quo ...
- 一看就懂的ReactJs入门教程(精华版)
一看就懂的ReactJs入门教程(精华版) 现在最热门的前端框架有AngularJS.React.Bootstrap等.自从接触了ReactJS,ReactJs的虚拟DOM(Virtual DOM)和 ...
- JavaScript一看就懂(2)闭包
认识闭包之前需要先了解作用域,如果你对作用域还没有足够了解,请移步JavaScript一看就懂(1)作用域 什么是闭包? 我们可以先简单认为:一个函数a定义在另一个函数b里面,这个函数a就是闭包: f ...
随机推荐
- 面向对象进阶---attr家族
一. isinstance(obj,cls)和issubclass(sub,super) isinstance(obj,cls)检查obj是否是类 cls 的对象 class Foo: pass ob ...
- wmv12下安装centos7
第一步:安装软件: vmw版本是12,并在vmw下安装centos为CentOS-7-x86_64-DVD-1708.iso: 第二步:修改vmw虚拟网络配置 1)配置VMnet8 修改ip等信息 点 ...
- hdu-2141 Can you find it?---暴力+二分
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2141 题目大意: 给ABC三个数组,给一个X,求是否存在Ai+Bj+Ck = X 思路: 等式转化成 ...
- 浅析开源数据库MySQL架构
数据库是所有应用系统的核心,故保证数据库稳定.高效.安全地运行是所有企业日常工作的重中之重.数据库系统一旦出现问题无法提供服务,有可能导致整个系统都无法继续工作.所以,一个成功的数据库架构在高可用设计 ...
- 最短路径之Dijkstra算法
Dijkstra(迪杰斯特拉)算法是典型的最短路径路由算法,用于计算一个节点到其他所有节点的最短路径.主要特点是以起始点为中心向外层层扩展,直到扩展到终点为止.Dijkstra算法能得出最短路径的最优 ...
- linux系统命令学习系列8-文件相关操作touch,rm,mv,cat,head,tail命令
上节内容: 系统和目录管理 Pwd命令 .和..目录 相对路径和绝对路径 作业:进入opt路径,分别使用相对路径方法和绝对路径方法进入到其实任意一个子目录 cd /opt 相对路径 cd rh 绝对路 ...
- Kotlin技术入门以及和Java对比.md
一.Kotlin基础环境搭建 Android studio的版本大于3.0 直接支持Kotlin语法,直接创建即可; Android studio的版本小于3.0,步骤如下: 需要下载插件 插件搜索 ...
- CSS3和H5的新特性
H5的新特性 1. 用于绘画 canvas 元素. 2. 用于媒介回放的 video 和 audio 元素. 3. 本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不 ...
- ES6 new syntax of Rest and Spread Operators
Rest and Spread Operators.md Why we need rest and spread operators? var showCollections = function(i ...
- [LeetCode] Fraction Addition and Subtraction 分数加减法
Given a string representing an expression of fraction addition and subtraction, you need to return t ...