c++基本用法总结 学习笔记

C++是包含了类的C,是C语言的升级版,它面向对象,实现继承、抽象和多态封装等概念,类中包含成员数据及操作成员数据的成员方法。

  • float,double,long double是根据有效位(而非总位数)和指数最小范围来进行描述的。例如:14179有效位位5,14000有效位为2;
  • short 16位,int32位,long 32位,long long 64位;
  • 不一样的结构体:结构体中的元素,以逗号隔开(最后一个元素不用)而非分号,结构体数组元素以大括号表示,元素之间用逗号隔开。(新方法)
  • 指针变量也可以直接进行加减,表示指针指向的地址的改变。
  • 前缀后缀理解++x和x++:x++表示用当前值计算表达式之后再+1,++x表示将当前值+1再进行计算,即用(x+1)计算。
  • 使用字符串函数时,要在头文件中使用#include。(注:#include 和 #define都叫预处理器编译命令,编译过程中会调用预处理器,实现该函数的底层调用)
  • 字符函数(cctype):isalum()是否字母或数字;isalpha()是否是字母;isdigit()判断是否数字;isgraph()是否不是空格;islower()是否小写;isupper()是否大写;isprint()是否是打印字符;ispunct是否是标点符号;isspace()是否标准空白字符;tolower()/toupper()转换为小写或大写字母;
  • 理解map:map中的元素实质是一种键值对(同时拥有key和value两个属性,且map中的key值不能相同)的集合,其中元素会根据键值进行自动排序。基本操作函数:
    • begin() 返回map头部的迭代器;
    • clear() 删除map中所有元素;
    • count() 返回map中元素个数;
    • empty() 判断map中是否没有元素;
    • end() 返回指向map尾尾部的迭代器;
    • equal_range() 返回特殊条目的迭代器对
    • erase() 删除一个元素;
    • find() 查找一个元素; //注:C++的map是采用红黑树实现的,所以获取value的效率为lgn级别
    • get_allocator() 返回map的配置器
    • insert() 在map中新插入元素;
    • key_comp()返回比较元素key的函数
    • lower_bound()返回键值>=给定元素的第一个位置
    • max_size() 返回map可以容纳的最大元素个数;
    • rbegin() 返回一个指向map尾部的逆向迭代器;
    • rend() 返回一个指向map头部的逆向迭代器;
    • size() 返回map中元素的个数;
    • swap() 交换两个map;
    • upper_bound() 返回键值>给定元素的第一个位置
    • value_comp() 返回比较元素value的函数
  • map创建迭代器:map<string,int>::iterator strmap_iter = strMap.begin();读取迭代器的key值和value值,只能用创建迭代器,箭头指向符方式,如strmap_iter->first和strmap_iter->second(用的是箭头符号)
  • printf("%d\n") 实现输出的换行;printf("%d\n\n") 实现用换行分割输出区域。
  • cout 和 printf 输出的区别:cout可以将不同类型的数据输出而忽略数据的类型,它的实质是一个iostream类的对象,能调用成员运算符函数operator<<,每次调用的时候就会输出对应的字符串;endl是一个运算符,实现换行且清空缓冲区;printf需要先知道输出数据的类型。一般认为printf比cout更快速。
  • 使用cin和cout进行输入和输出时,程序头文件中必须包含iostream文件。
  • C++程序划分为两个部分:以#打头的预处理器编译指令,以int main( )打头的程序主体。
  • using namespace std:对名称空间进行限定,当多个文件含某一函数名称时,给代码指定的名称,避免命名冲突。
  • 声明一位数组:type array_name[array_size];初始化数组:type array_name[array_size] = {1,2,3,4,5}(数组大小可以省略);数组元素访问修改:array_name[下标] = value;
发布了16 篇原创文章 · 获赞 4 · 访问量 5871

猜你喜欢

转载自blog.csdn.net/qq_35345719/article/details/87911225