zoukankan      html  css  js  c++  java
  • 第三章:标准库类型

    1:标准库函数,类名等都在std命名空间中;有些类型名或函数在类里面的头文件中,故而通过头文件可以得到,或者通过“类::”得到。而很多c++的标准库中类名,不仅仅是添加头文件,还需要加std::。

    2:关于c与c++的头文件区别:c的标准库都是用.h命名的,而c++是没有的;对于兼容c则c++通过cXXX来表示了,例如stdio.h就是cstdio。标准库中的头文件通过<>;非标准的用””。

    3:<>和””是用于指出寻找函数,或者类等的初始路劲。用<>表示从系统的路径找也就是标准库存放路劲;””是从当前路劲找,也就是建立工程的路径。

    第一:string标准库

    1:c++和c的string区别---优秀说明:http://www.doc88.com/p-207512823966.html

    其实质就是c种的string是char指针,而c++的string是类的指针效果;c++兼容c,在字符面值上保持了c的风格。故而用c的输入输出时不能用c++的string对象,而需要用该类对象的方法c_str方法转变为c可用的string。

    2:string构造函数有:

    string s1;
    string s2(s1);
    string s3("abcd");
    string s4(n,'c');

    3:操作

    s.empty();
    s.size()
    s[n];
    s1==s2;
    s1=s2
    s1!=s2;
    s1>s2;//>=
    s1<s2;//<=

    4:类型:string:size_type和无符号的机器类型;

    5:字符连接时必须有操作符+,且左右必须有个字符类型变量。

    6:关于字符处理函数在头文件cctype。

    7:类型:vector<T>::difference_type;有符号的

    第二:vector类型

    1:vector不是数据类型,而是类模板

    2:构造函数

    vector<T> v1;
    vector<T> v2(v1);
    vector<T> v3(n,i);
    vector<T> v4(n);

    3:操作

    v.empty();
    v.size();
    v.push_back;
    v1=v2;
    v1==v2;
    v1!=v2;
    v1>v2;//v1>=v2;
    v2<v2;//v1<=v2

    4:关于值初始化,内置类用0初始化;类用默认构造函数,若没有则必须提供初始化;类若无任何构造函数则系统有合成默认构造函数。

    5:习惯:习惯用!=而不是<;习惯与用s.size()因为是inline,多次调用不影响效率。

    6:迭代器是比[]操作更加灵活的东西,使用频率多。重要是*,++操作,有+右操作数是常数,-操作对象。

    7:内部有高效的动态对象增加

    第三:bitset标准库

    1:初始化构造函数

    bitset<n> b;
    bitset<n> b(u);
    bitset<n> b(s);
    bitset<n> b(s,pos,n);

    2:注意用字符串初始化时,字符的顺序和bitset顺序是相反的。

    3:操作

    b.any();
    b.none();
    b.count();
    b.size();
    b.set();
    b.set(pos);
    b.reset();'
    b.reset(pos);
    b.flip();
    b.flip(pos);
    b.b[pos];
    b.tes(pos);
    b.to_ulong();
    os<<b;

    4:此处用途是多个判决可以用此类存储,犹如bit图的一行。

    5:类型:size_t无符号的在头cstddef

  • 相关阅读:
    vue-cli3 打包路径参数说明
    vuex使用map在module的模式下的写法
    普通的JS文件中使用vuex
    vue cli 3+ 版本的source map添加方法
    vue-cli的安装及版本查看/更新
    搭建一个vue项目
    无法将“vue”项识别为 cmdlet、函数、脚本文件或可运行程序的名称
    Centos7开放及查看端口
    记录一次idae和maven设置的巨坑
    解决npm安装node-sass太慢及编译错误问题
  • 原文地址:https://www.cnblogs.com/miner007/p/3997359.html
Copyright © 2011-2022 走看看