zoukankan      html  css  js  c++  java
  • C++学习笔记

    1、使用C++11的标准来编译C++要添加-std=c++11参数(gcc版本要大于4.8

    g++ -std=c++11 test.cpp -o test

     2、输入EOF

    windows    : CTRL+Z
    linux/unix : CTRL+d

    3、引用初始化

    普通引用只能用一个左值(对象)进行初始化,因为只能引用一个对象。

    int &a = b;                                 # a是b的引用,通过a可以修改b的值
    vector<int>::iterator &it = ivec.begin(); # 错误,ivec.begin()返回的是一个值,是一个临时对象,在return语句执行完后,就会被销毁,这样就返回了一个悬空的引用。

    # 添加中间变量
    vector<int>::iterator a = ivec.begin(); # 赋值给中间变量,中间变量是一个左值
    vector<int>::iterator &it = a; # 左值初始引用。

    # 返回引用的函数,可以初始化引用
    int &getRef(); # 返回的是一个引用,所以getRef()是一个左值。
    int &c = getRef(); # 左值可以初始化化引用

     const 引用可以用一个右值进行初始化

    const int &a = 5;                                # a不能改变
    const vector<int>::iterator &it = ivec.begin();  # it不能改变,++it都是非法的,没有意义

    改变临时变量的生命周期

    vector<int>::iterator &&it = ivec.begin();   # 添加两个“&”符号,产生一个返工值的副本?

    4、man命令来查看类的成员

    man std::string    // 可以查看string的成员变量和成员函数的声明。

    5、使用标准库的类型和对象

    使用标准库类型和对象要分两步
    1、include标准库的头文件
    2using namespace std; 或者每个类型前都加上std::,表示这个类型是标准库中的。
    
    只include头文件,编译器是找不到类型或对象的,为什么还不知道。
    
    std::string  //使用标准库中的类
    std::cout    //使用标准库中的对象
  • 相关阅读:
    spring cloud eureka 服务端开启密码认证后,客户端无法接入问题
    微信小程序 获取用户信息 encryptData解密 C#版本
    Chrome浏览器离线安装 Postman 5.X 报错
    framework7使用问题汇总
    centos 6 防火墙开启端口无效问题
    ASP.NET下使用xml反序列化、缓存实现个性化配置文件的实时生效
    Swagger+SpringBoot整理
    baseController
    微信小程序-扫码点餐系统设计
    redis+Spring初级应用
  • 原文地址:https://www.cnblogs.com/yuandonghua/p/11149387.html
Copyright © 2011-2022 走看看