07 2017 档案

C++中的new/delete与operator new/operator delete
摘要:new operator/delete operator就是new和delete操作符,而operator new/operator delete是函数。 new operator (1)调用operator new分配足够的空间,并调用相关对象的构造函数 (2)不可以被重载 operator ne 阅读全文

posted @ 2017-07-25 08:24 泡面小王子 阅读(254) 评论(0) 推荐(0)

虚拟继承C++
摘要:C++中虚拟继承的概念 为了解决从不同途径继承来的同名的数据成员在内存中有不同的拷贝造成数据不一致问题,将共同基类设置为虚基类。这时从不同的路径继承过来的同名数据成员在内存中就只有一个拷贝,同一个函数名也只有一个映射。这样不仅就解决了二义性问题,也节省了内存,避免了数据不一致的问题。class 派生 阅读全文

posted @ 2017-07-19 23:33 泡面小王子 阅读(283) 评论(0) 推荐(0)

C++中static_cast和dynamic_cast强制类型转换
摘要:在C++标准中,提供了关于类型层次转换中的两个关键字static_cast和dynamic_cast。 一、static_cast关键字(编译时类型检查) 用法:static_cast < type-id > ( expression ),该运算符把expression转换为type-id类型,但没 阅读全文

posted @ 2017-07-06 15:57 泡面小王子 阅读(10732) 评论(0) 推荐(2)

C++重载>>和<<(输入输出运算符)
摘要:在C++中,标准库本身已经对左移运算符<<和右移运算符>>分别进行了重载,使其能够用于不同数据的输入输出,但是输入输出的对象只能是 C++ 内置的数据类型(例如 bool、int、double 等)和标准库所包含的类类型(例如 string、complex、ofstream、ifstream 等)。 阅读全文

posted @ 2017-07-04 22:46 泡面小王子 阅读(2227) 评论(0) 推荐(0)

n个整数中1出现的次数
摘要:整数中1出现的次数(从1到n整数中1出现的次数) (两种方法:1、规律。2暴力求解) 题目描述 求出1 ~ 13的整数中1出现的次数,并算出100 ~ 1300的整数中1出现的次数?为此他特别数了一下1 ~ 13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。A 阅读全文

posted @ 2017-07-03 09:51 泡面小王子 阅读(298) 评论(0) 推荐(0)

三个只出现一次的数
摘要:题目:一个数组中有三个数字a、b、c只出现一次,其他数字都出现了两次。请找出三个只出现一次的数字。 分析:在博客http://zhedahht.blog.163.com/blog/static/2541117420071128950682/中我们讨论了如何在一个数组中找出两个只出现一次的数字。在这道 阅读全文

posted @ 2017-07-01 16:29 泡面小王子 阅读(455) 评论(0) 推荐(0)

异或运算实现两个数的交换
摘要:通常的交换两个变量a,b的过程为 int temp; temp=a a=b; b=temp; 需借助上面的第3个临时变量temp. 采用下面的方法,对于给定两个整数a,b,下面的异或运算可以实现a,b的交换,而无需借助第3个临时变量: a = a ^ b; b = a ^ b; a = a ^ b; 阅读全文

posted @ 2017-07-01 10:13 泡面小王子 阅读(882) 评论(0) 推荐(0)

找出数组中只出现一次的两个数
摘要:题目:一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。 思路: 首先交待一下异或的基本性质:2个相同的数异或等于0,且异或操作(^)满足结合律和交换律。 再来考虑一种简单一点的情况:一个数组中只有一个元素出现 阅读全文

posted @ 2017-07-01 09:19 泡面小王子 阅读(468) 评论(0) 推荐(0)