当定义一个类时,我们显式地或隐式地指定在此类型的对象拷贝、移动、赋值和销毁时做什么。一个类通过定义五种特殊的成员函数来控制这些操作,包括:拷贝构造函数(copy constructor)、拷贝赋值运算符(copy-assignment operator)、移动构造函数(move constructor)、移动赋值运算符(move-assignment operator)和析构函数(destructo...
分类:
其他好文 时间:
2015-06-01 22:44:45
阅读次数:
97
Effective C++ chapter 2. 构造 / 析构 / 赋值运算 (Constructors, Destructors, and Assignment Operators) Item 5. 了解 C++ 默默编写并调用哪些函数 (Know what functions C++ sile...
分类:
编程语言 时间:
2015-06-01 22:30:03
阅读次数:
130
Apparently, more expensive flowers should be bought with lower coeff. (Greedy part), and any unbalanced assignment would cause extra cost.So the code ...
分类:
其他好文 时间:
2015-05-26 15:44:52
阅读次数:
95
如果一个对象是独一无二的,那么我们就不应该提供copy构造函数和copy assignment操作符函数(二者统称为copying函数)。但是即使我们不定义它们,编译器也会在别人调用它们时默认提供,如何拒绝编译器的这种行为呢?由于编译器自动生成的函数都是public的,因此你可以提供private的...
分类:
其他好文 时间:
2015-05-25 09:51:29
阅读次数:
280
背景知识
编译器默认生成函数的规则如下:
1.定义一个类时,如果自己没有声明,那么编译器会自动帮助生成一个拷贝构造函数(copy construction),赋值操作符(copy assignment),析构函数(deconstruction)。
2.如果没有声明任何构造函数(包括拷贝构造函数),编译器会帮助声明一个默认构造函数。
构造函数(包括编译器生成的默认构造函数)的执行包括两个阶段...
分类:
其他好文 时间:
2015-05-24 15:45:47
阅读次数:
133
辛辛苦苦的做完了项目。。是时候提交一发应用商城啦~首先我们要先让账号拥有开发人员资格(这里不详细介绍,先去dreampark注册一个账户然后用自己的tju邮箱证明身份,获取激活码,然后在微软官网注册开发人员资格然后打开项目,在VS中最上方的选项中项目->应用商店->创建应用程序包下一步->登陆自己获...
分类:
其他好文 时间:
2015-05-18 20:12:01
阅读次数:
121
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=5155
题意:有n个颜色的球,其中有k对球颜色相同,别的都是完全不同的。给m个盒子,每个盒子的容量为c[i],有sum{c[i]}=n。问:有多少种姿势可以把n个球全部放入...
分类:
其他好文 时间:
2015-05-18 09:03:17
阅读次数:
124
Jimmy’s Assignment
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 65535/65535 K (Java/Others)
Total Submission(s): 1093 Accepted Submission(s): 446
Problem Description
Jimmy is stu...
分类:
其他好文 时间:
2015-05-12 21:09:42
阅读次数:
127
上回说到...sqlite在windows store app与windows phone app的应用...今天就说说sqlite在wpf的应用吧...1.应用前的准备首先..sqlite在wpf开发中并不像上两个应用那样有内置的库...所以只能利用现有的数据库文件来进行数据库操作...那么首先要...
分类:
其他好文 时间:
2015-05-11 23:52:32
阅读次数:
224
C++返回值优化和具名返回值优化是编译器的优化,在大多数情况下能提高性能,但是却难以受程序员控制。C++11中加入了move语义的支持,由此对RVO和NRVO会造成一定影响。下面以一段代码来说明。RVO和NRVO在分别在copy/move construct,copy/move assignment八种简单情况,测试条件是g++ 4.8.2和clang++ 3.4,默认优化。#include <io...
分类:
编程语言 时间:
2015-05-09 15:05:15
阅读次数:
354