• 关于学习STL部分学到的零碎知识点


    关于学习STL部分学到的零碎知识点:

    关于STL的部分在前面已经提到,现在主要写一下关于在学习STL时的部分零碎知识点:

    万能头文件:#include<bits/stdc++.h>

    C++中的.和::和->的区别:

    1、A.B则A为对象或者结构体;
    2、A->B则A为指针,->是成员提取,A->B是提取A中的成员B,A只能是指向类、结构、联合的指针;
    3、::是作用域运算符,A::B表示作用域A中的名称B,A可以是名字空间、类、结构;

    isalpha函数:

    一种函数:判断字符ch是否为英文字母,若为小写字母,返回2,若为大写字母,返回1。若不是字母,返回0。在标准c中相当于使用“isupper(ch)||islower(ch)”做测试。
    头文件加入或者 (C语言使用<ctype.h>)

    C/C++库函数(tolower/toupper)实现字母的大小写转换

    c++ string流 stringstream的简单总结:

    简单用法:
    string s;
    stringstream ss;
    ss<<2;
    ss>>s;//将int转换为string
    ss.clear();//使用stringstream来做转换时,最好使用完,进行ss.clear()操作

    istringstream类用于执行C++风格的串流的输入操作。//它的作用是从string对象str中读取字符。遇空格结束:

    string str ="I am boy";
    string b;
    istringstream in(str)
    while(in >> b){
        cout << b<<endl;//
    }
        //输出:
        I
        am
        boy
    

    ostringstream类用于执行C风格的串流的输出操作。
    //通过ostringstream实现任意类型转string:

    ostringstream oss;
        double a=2.21;
        int b=4;
        string str;
        oss<<a<<"_"<<b<<endl;
        str = oss.str();
        //输出就是 2.21_4;
    

    typedef是定义一种类型的别名,不是简单的宏替换:

    char * p1,p2;实际上p1是字符型指针,而p2是字符型变量,并不是要声明的字符指针;
    正确的格式是:char *p1,p2;
    那么在这种情况在我们就可以用typedef关键字来声明,避免上述错误,如下:
    typedef char
    pointer;
    ponter p1,p2;
    在需要大量使用指针时,用typedef的方式就比较省事,还能避免一些错误。

    typedef与#define的区别:

    typedef char * PT1;
    #define PT2 char*;
    PT1 p1,p2;
    PT2 p3,p4; 
    

    上述定义中,p1,p2, p3是char *型的指针,而p4不是指针,是char变量。上面PT2 p3,p4; 等价于char *p3,p4;又等价于char *p3;char p4。即#define可以直接进行字符串的替换,而typedef不可以。

  • 相关阅读:
    on、where、having的区别和关系
    Java知识点补缺
    Hive部署到IDEA报错 Hive Schema version 2.1.0 does not match metastore's schema version 1.2.0 Metastore is not upgraded or corrupt 解决方案
    Hive知识点总结
    区分同步与异步、阻塞与非阻塞
    Hive查询分区元数据,PARTITIONED BY
    单例模式总结
    Sql语句执行顺序
    收藏大数据相关面试题比较好的链接
    实习技能
  • 原文地址:https://www.cnblogs.com/study-hard-forever/p/12130041.html
Copyright © 2020-2023  润新知