More Effective C++之19

原创 2006年06月14日 13:32:00
条款19:了解临时对象的来源
我们常常写一些代码,int nTemp = 0;之类的,可能我们习惯于称呼这类变量为临时变量或者临时对象,然后C++不是这样想,C++称之为局部对象。类似于

string ReturnString(char* str)

{
       return str;
}
如果我们这样写:
string sTemp;

sTemp = ReturnString(“Test”);

就产生了一个不具名的对象,这个对象就称为C++的临时对象。
所以这一条的重点是临时对象产生在什么地方:一、系统默认的对象隐式转换;二是返回值的转换。这两种问题的解决办法在后面都有提及。稍后继续。

《More Effective C++》读书笔记-技术

25、将构造函数和非成员函数虚化1、这里所谓的虚拟构造函数,并不是真的指在构造函数前面加上 virtual 修饰符,而是指能够根据传入不同的参数建立不同继承关系类型的对象。class NLCompon...
  • will130
  • will130
  • 2016年05月02日 12:27
  • 2775

More Effective C++----技巧 & (25)将构造函数和非成员函数虚拟化

技巧 本书涉及的大多数内容都是编程的指导准则。这些准则虽是重要的,但是程序员不能单靠准则生活。有一个很早以前的卡通片叫做“菲利猫”(Felix the Cat), 菲利猫无论何时遇到困难,它都会拿...
  • qianqin_2014
  • qianqin_2014
  • 2016年05月06日 23:30
  • 2476

【《Effective C#》提炼总结】提高Unity中C#代码质量的22条准则

我们知道,在C++领域,作为进阶阅读材料,必看的书是《Effective C++》。 而《Effective C#》之于C# ,是类似《Effective C++》之于C++一样的存在。 这篇文章,将...
  • zhmxy555
  • zhmxy555
  • 2016年12月25日 15:47
  • 16528

More Effective C++----(19)理解临时对象的来源

Item M19:理解临时对象的来源 当程序员之间进行交谈时,他们经常把仅仅需要一小段时间的变量称为临时变量。例如在下面这段swap(交换)例程里: template void swap(T...
  • qianqin_2014
  • qianqin_2014
  • 2016年05月06日 17:35
  • 623

理解临时对象的来源(More Effective C++_19(效率))

本文探讨临时对象的来源,怎么避免临时对象,本文并没有深入涉及,在效率中的其他小节,有具体方法去解决一、 区别临时对象和局部对象templatevoid swap(T& object1, T& obje...
  • zhangchen1003
  • zhangchen1003
  • 2015年09月05日 14:51
  • 192

More Effective C++之Item M19:理解临时对象的来源

临时对象产生场景: 1.类型隐式转换; 2.函数值返回; 当程序员之间进行交谈时,他们经常把仅仅需要一小段时间的变量称为临时变量。例如在下面这段swap(交换)例程里: templat...
  • janeqi1987
  • janeqi1987
  • 2017年07月24日 11:16
  • 109

More Effective C++----异常 & (9)使用析构函数防止资源泄漏

异常 关于C++异常的详细知识,请参考http://blog.csdn.net/qianqin_2014/article/details/51325842> C++新增的异常(exceptio...
  • qianqin_2014
  • qianqin_2014
  • 2016年05月05日 20:48
  • 3824

《More Effective C++》条款27:如何让类对象只在栈(堆)上分配空间?

昨天一个同学去网易面试C++研发,问到了这么一个问题:如何限制一个类对象只在栈(堆)上分配空间? 一般情况下,编写一个类,是可以在栈或者堆分配空间。但有些时候,你想编写一个只能在栈或者只能在堆上面分...
  • hxz_qlh
  • hxz_qlh
  • 2013年10月26日 21:27
  • 6036

【more effective c++读书笔记】【第1章】基础议题(1)

条款1:仔细区别pointers和references 1、pointers和references之间的区别是: a、没有所谓的null reference,一个reference必须总代表某个对...
  • ruan875417
  • ruan875417
  • 2015年08月24日 13:41
  • 281

指针和引用的区别(More Effective c++ )

指针与引用看上去完全不同(指针用操作符“*”和“->”,引用使用操作符“. ” ),但 是它们似乎有相同的功能。指针与引用都是让你间接引用其他对象。你如何决定在什么时候 使用指针,在什么时候使用...
  • nizhannizhan
  • nizhannizhan
  • 2015年07月29日 21:50
  • 386
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:More Effective C++之19
举报原因:
原因补充:

(最多只允许输入30个字)