C++基础语法注意细节

C++ 引用 vs 指针

引用很容易与指针混淆,它们之间有三个主要的不同:

  • 不存在空引用。引用必须连接到一块合法的内存。
  • 一旦引用被初始化为一个对象,就不能被指向到另一个对象。指针可以在任何时候指向到另一个对象。
  • 引用必须在创建时被初始化。指针可以在任何时间被初始化。
  • 把引用作为参数:
  • void swap(int& x, int& y)
    {
       int temp;
       temp = x; /* 保存地址 x 的值 */
       x = y;    /* 把 y 赋值给 x */
       y = temp; /* 把 x 赋值给 y  */
      
       return;
    }


    int main(void)
    {
    int a = 3,b = 7;
    swap(a,b);
    }
  • 把引用作为返回值:
  • int vals[] = {10.1, 12.6, 33.1, 24.1, 50.0};
    int &Setvalue(int i)
    {
    return vals[i];


    }
    int main(void)
    {
    setValues(1) = 100;
    cout<<"vals[1]"<<vals[1]<<endl;
    }
  • 改变了vals中的值。

  • 获取当前日期和时间:

  • #include <iostream>
    #include <ctime>
    
    using namespace std;
    
    int main( )
    {
       // 基于当前系统的当前日期/时间
       time_t now = time(0);
       
       // 把 now 转换为字符串形式
       char* dt = ctime(&now);
    
       cout << "本地日期和时间:" << dt << endl;
    
       // 把 now 转换为 tm 结构
       tm *gmtm = gmtime(&now);
       dt = asctime(gmtm);
       cout << "UTC 日期和时间:"<< dt << endl;
    }

    当上面的代码被编译和执行时,它会产生下列结果:

    本地日期和时间:Sat Jan  8 20:07:41 2011
    
    UTC 日期和时间:Sun Jan  9 03:07:41 2011

    标准输入输出

  • (1)预定义的对象 cin 是 istream 类的一个实例。cin 对象附属到标准输入设备,通常是键盘。cin 是与流提取运算符 >> 结合使用的
  • (2)预定义的对象 cerr 是 ostream 类的一个实例。cerr 对象附属到标准错误设备,通常也是显示屏,但是 cerr 对象是非缓冲的,且每个流插入到 cerr 都会立即输出。
  • (3)定义的对象 clog 是 ostream 类的一个实例。clog 对象附属到标准错误设备,通常也是显示屏,但是 clog 对象是缓冲的。这意味着每个流插入到 clog 都会先存储在缓冲在,直到缓冲填满或者缓冲区刷新时才会输出
  • (4)预定义的对象 cout 是 ostream 类的一个实例。cout 对象"连接"到标准输出设备,通常是显示屏。cout 是与流插入运算符 << 结合使用的;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值