C++
文章平均质量分 66
HelloWorld__LL
态度 思路 方法
展开
-
C++ 临时对象
临时对象通常产生于4种情况: 1、类型转换 2、按值传递 3、按值返回 4、对象定义类型转换通常是为了让函数调用成功而产生的临时对象:传递某对象给一个函数,而其类型与它绑定的参数类型不同。 例如:void test(const string& str);char buffer[] = "buffer";test(buffer);//此刻发生类型转换编译器类型转换:产生一个类型为st原创 2015-06-17 11:02:54 · 514 阅读 · 0 评论 -
Sizeof与Strlen的区别与联系
转载: http://www.cnblogs.com/carekee/articles/1630789.html 一、sizeof sizeof(…)是运算符,在头文件中typedef为unsigned int,其值在编译时即计算好了,参数可以是数组、指针、类型、对象、函数等。 它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。 由于在编译时计算,因此siz转载 2015-08-03 13:54:33 · 403 阅读 · 0 评论 -
C++中struct和class的区别
是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。 struct能包含成员函数吗? 能! struct能继承吗? 能!! struct能实现多态吗? 能!!! 最本质的一个区别就是默认的访问控制,体现在两个方面:1)默认的继承访问权限。struct是public的,class是private的。 写如下的代码:转载 2015-08-23 23:01:15 · 371 阅读 · 0 评论 -
c++中union的使用
“联合”是一种特殊的类,也是一种构造类型的数据结构。在一个“联合”内可以定义多种不同的数据类型, 一个被说明为该“联合”类型的变量中,允许装入该“联合”所定义的任何一种数据,这些数据共享同一段内存,已达到节省空间的目的(还有一个节省空间的类型:位域)。 这是一个非常特殊的地方,也是联合的特征。另外,同struct一样,联合默认访问权限也是公有的,并且,也具有成员函数。联合与结构的区别: “转载 2015-07-06 22:57:57 · 485 阅读 · 0 评论 -
placement new 操作符
转载: http://blog.csdn.net/zhangxinrun/article/details/5940019 placement new是重载operator new的一个标准、全局的版本,它不能被自定义的版本代替(不像普通的operator new和operator delete能够被替换成用户自定义的版本)。它的原型如下:void *operator new( size_t, v转载 2015-07-02 23:28:49 · 296 阅读 · 0 评论 -
错误 1 error LNK2019: 无法解析的外部符号 "public: __thiscall chain<int>::~chain<int>(void)" (??1?$chain@H@@QAE@
错误 1 error LNK2019: 无法解析的外部符号 "public: __thiscall chain::~chain(void)" (??1?$chain@H@@QAE@XZ),该符号在函数 _main 中被引用C:\Users\LXL\Desktop\c++_test\0606\ConsoleApplication1\ConsoleApplication1\ConsoleApp原创 2015-06-06 23:27:42 · 7141 阅读 · 0 评论 -
浅拷贝、深拷贝 Bitwise Copy和Memberwise Copy
转载: http://blog.csdn.net/arcsinsin/article/details/9815937 C++中类的默认的拷贝构造函数是按位拷贝的,也就是直接将一个对象的成员值拷贝过来; 比如一个类A,我们不显示提供拷贝构造函数的话: 如下:class{ int a; char arr[10];char *p;};A a1;A a2=a1;这个时候,a2和a1的转载 2015-06-23 22:48:23 · 467 阅读 · 0 评论 -
C++中的临时对象
我们知道在C++的创建对象是一个费时,费空间的一个操作。有些固然是必不可少,但还有一些对象却在我们不知道的情况下被创建了。通常以下三种情况会产生临时对象: 1,以值的方式给函数传参; 2,类型转换; 3,函数需要返回一个对象时; 现在我们依次看这三种情况: 一,以值的方式给函数传参。 我们知道给函数传参有两种方式。1,按值传递;2,按引用传递。按值转载 2015-06-14 20:56:30 · 390 阅读 · 0 评论 -
C++ static关键字
转载: http://www.vckbase.com/index.php/wv/1426C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。 一、面向过程设计中的static 1、静态全局变量 在全局变量前,加上关键字static,该变量就被定义成为一个静态全局变量。我们转载 2015-06-17 17:02:35 · 264 阅读 · 0 评论 -
C++ 深拷贝和浅拷贝
拷贝的两种方式:浅拷贝、深拷贝浅拷贝就是对象的数据成员之间的简单赋值,如果设计了类而没有提供拷贝构造函数,当用该类的一个对象去给另一个对象赋值是所执行的过程就是浅拷贝。如:class A{public:A(int _data):data(_data){}A(){}private:int data;};int main{A a(5), b =原创 2015-06-15 20:53:36 · 366 阅读 · 0 评论 -
copy、copy_backward函数区别
copy和copy_backward函数的功能其实是一样的,无非是从第1个开始拷贝和从最后一个开始拷贝的区别。先看一下这两个函数的参数: copy(first,last,result);//first为容器的首迭代器,last为容器的末迭代器,result为结果数组。copy_backward(first,last,result);//first为容器的首迭代器,last为容器的末迭代器,resu转载 2015-08-21 22:59:39 · 1653 阅读 · 0 评论