- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 僵尸进程和孤儿进程
对于父进程创建的子进程有三种可能,一种是正常结束,并由父进程回收资源;一种是正常结束后,父进程没有对其资源回收,导致该进程成为了所谓的僵尸进程,占用一定的资源(进程表项);第三种是当子进程结束之前父进程就已经结束了,这时该子进程就成了孤儿进程,此时内核会把这个孤儿进程的父进程改成init进程,它是开机运行以后一直运行的初始进程,接收所有父进程已经结束的孤儿进程为自己的子进程,并一直检测子进程的结束
2013-07-19 17:26:49 825
原创 关于c语言中的strstr函数
函数原型:char *strstr(char *str1, char *str2);功能:从字符串str1中查找是否有字符串str2,如果有,则从str1中的对应于str2中第一个字符的位置的指针,如果没有,则返回null。例子:int main(){ char str[] = "123456"; char *p = strstr(str,"345"); cout<<*p
2013-07-19 16:37:16 1150
原创 条款43:学习处理模板化基类内的名称
问题代码#include using namespace std;class CompanyA{public: void sendCleartext(const std::string& msg); void sendEncrypted(const string& msg);};class CompanyB{public: void sendCleartext(co
2013-07-19 10:19:04 1086
原创 编程之美_买书问题
对于买的不同的书越多,打的折扣也就越大,由此想到可用贪心算法,将每一组尽可能多的包含不同的书,这样的折扣就越大,花的钱就越少。然而,在这里贪心算法却出现了反例,当买8本书时,分组为5+3的贪心算法却不如分组为4+4的算法花的钱少:5+3: 5*8*0.75 + 3*8*0.9 = 51.6, 4+4: 2 * 4*8*0.8 = 51.2。这是因为买三本不同的书的折扣为10%,而买4本不同的书
2013-07-15 16:56:36 998
原创 杭电acm1013_大数每位求和
核心思想,大数是不能用ing,long, unsigned long 所能表示的,必须把大数看成是字符串,取出每一个字符来依次操作。将每个字符减去‘0’就是所在位上的数字。注意,取出的字符是从高位开始的,如果是大数相加或者大数相乘,必须从最低位开始取出每个位上的数字。这里只是每位相加,可以从高位开始。 这里省略了检验输入字符串是否合法,是否包含非0、1、2、......之外的字符,
2013-07-13 19:36:19 1182
原创 条款08:别让异常逃离析构函数
在C++中,在销毁每个对象时调用析构函数,而在析构期间,如果有异常被抛出,如果在两个异常同时存在的情况下,程序若不是结束执行就是导致不明确的行为。 例如:class DBConnection{public: ........ static DBConnection create(); void close();}; class D
2013-07-12 10:13:58 939
原创 C++关于父类指针指向子类对象的问题
C++中,每个派生类对象都包含基类部分,所以可以将基类类型的引用绑定到派生类对象的基类部分,也可以用指向基类类型的指针指向派生类对象:#if 1#include #include using namespace std;class Stu{public: Stu(const int num, const string& na): number(num), name(na){}
2013-07-11 22:07:38 2033
原创 effective C++之关于类成员的初始化,及默认构造函数、默认赋值构造函数和赋值函数
关于类成员的初始化和赋值的区别: 使用初始化列表初始化成员class Stu{public: Stu(int num, int ag, string na) : number(num), age(ag), name(na){}private: int number; int age; string name;};特别是
2013-07-11 20:01:38 1177
原创 条款2:尽量以const, enum, inline 替换#define
用#define定义的常量如:#define RAT 0.35 当运行此常量但获得一个编译错误信息时,这个错误信息也许会提到0.35
2013-07-08 21:17:28 852
转载 c++强制类型转换
强制转化无论从语法还是语意上看,都是c++中最难看的特征之一。但是基于c风格的转化的语义的不明确性及其一些潜在问题。强制类型转化最终还是被c++接受了。 1. static_cast运算符号 static_cast(e),stroustrup让我们可以把它看成隐含转换的显示的逆运算。这个是有一定道理的,基于隐式转化的对象类型我们可以使用static_cast转化运算符号。
2013-07-08 20:35:40 738
原创 条款1:视C++为一个语言联邦
早期的C++只是C加上了一些面向对象特性,但是现在的C++扩充了很多内容Exception对函数的结构化带来不同的做法,template将我们带到新的设计思考,STL则定义了一个前所未有的伸展性做法。 C++包含的四个次语言:1.C.前面提到的C++是从C继承过来的,如区块(blocks)、语句、预处理器、内置数据类型、数组、指针等。2.Object-Oriented C
2013-07-01 22:27:35 1284
原创 杭电ACM_1010_搜索题
在网上找到的解题算法:这是一道经典搜索题,常规方法是深搜,当然要加上必要的剪枝条件主要的剪枝条件有:1、剩余可走区域小于时间2、奇偶性剪枝3、越界4、超时等下面主要说说奇偶性剪枝若有一迷宫,将迷宫的每一个位置有0或1表示(x+y为偶数时 为0 否则为1):0 1 0 1 01 0 1 0 1
2013-07-01 20:30:06 902
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人