基础错误总结

1.

sh: pause: command not found

system(“pause”); 这里使用了windows系统指令,而linux下没有。

  1. string&&c_style_str.
    string是c++中的东西,是一个std中的一个类。打印可以使用cout(从在<<运算符的类,都可以使用)。
    c_style_str是C语言中的东西,打印使用printf(“%s”,c_style_str)。

printf(“%s”) 这里使用的是c风格字符串,不是string,如果这里写入string,会造成显示莫名其妙的东西,很像中文乱码。当然,可以通过string.c_str() 转一下。c风格字符串转string很简单string(c_style_str);

3.运算符重载 A a(1) pk A a=A(1);有区别?
调用方法(A(int))一样,唯一的区别是A a=A(1),时,要求copy constructor(CA& CA::operator=(const CA & ra)) 不能为private。
在网上查了一下资料:为了在class中使用指针是,为了防止浅copy的发生,粗暴一些的方式,将copy constructor 设置为private。也就是说:

CA ca1(1);
CA ca2=ca1;
/////////////////no equal follow
CA ca2=CA(1);

隐约记得,这是对匿名对象的优化,不知道如何查,暂时记录一下吧。
下面扩充一下:

    CA  c;//CA()
    CA ca(1); //CA(int)
    CA xx = ca; //CA(const CA&)
    CA yy = CA(2);//CA(int)
    CA zz(ca);//CA(const CA&)
     xx = yy;  // operator=
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值