2011年8月2日

位制转换的问题----%f %d 对int型 double型转换期间的问题

摘要: 对于这样的程序输出结果#include<iostream>using namespace std;int main(){printf("%f",5);printf("%d",5.01);}我的分析是这样的:首先注意(栈中的数字是从高位向地位存储的!比如 int a=3;&a指的是低位地址 不是高位地址,即是int的末尾 而不是int的开头位置。)其实,在我们当我们弄清楚浮点数的存储格式之后,就会明白其中的奥妙了。 在C语言标准中,浮点数是采用IEEE754标准 float类型数据存储格式如下:最高位最低位符号S 阶码E 尾数M 最高位 阅读全文

posted @ 2011-08-02 22:03 原来... 阅读(1867) 评论(1) 推荐(2) 编辑

构造函数定义为private,protected

摘要: 将构造函数,析构函数声明为私有和保护的,那么对象如何创建?已经不能从外部调用构造函数了,但是对象必须被构造,应该如何解决,麻烦大家帮忙说明,关于构造,析构函数声明为私有和保护时的用法???提出这个问题,说明你已经对c++有所思考了。从语法上来讲,一个函数被声明为protected或者private,那么这个函数就不能从“外部”直接被调用了。对于protected的函数,子类的“内部”的其他函数可以调用之。而对于private的函数,只能被本类“内部”的其他函数说调用。语法上就是这么规定的,你肯定也知道的咯。那么为什么有时候将构造函数或者析构函数声明为protected的或者private的?通 阅读全文

posted @ 2011-08-02 20:48 原来... 阅读(29380) 评论(2) 推荐(6) 编辑

SQL点---------性能优化没有那么神秘

摘要: 经常听说SQL Server最难的部分是性能优化,不禁让人感到优化这个工作很神秘,这种事情只有高手才能做。很早的时候我在网上看到一位高手写的博客,介绍了SQL优化的问题,从这些内容来看,优化并不都是一些很复杂的问题,掌握了基本的知识之后也可以尝试优化自己的SQL程序,甚至是其他相关的程序。优化是一些工作积累之后的经验总结和代码意识,只要平时注意积累,你也可以做优化的工作。这一篇随笔是转载,不过我强烈推荐,下一次别人谈论优化的时候我们这些小菜就可以跟侃侃而谈了,不至于面面相觑,不知所措。给出地址:http://blog.csdn.net/haiwer/article/details/282688 阅读全文

posted @ 2011-08-02 20:16 原来... 阅读(637) 评论(0) 推荐(0) 编辑

C++ 组合

摘要: 如果鸟是可以飞的,那么鸵鸟是鸟么?鸵鸟如何继承鸟类?[美国某著名分析软件公司2005年面试题] 解析:如果所有鸟都能飞,那鸵鸟就不是鸟!回答这种问题时,不要相信自己的直觉!将直觉和合适的继承联系起来还需要一段时间。 根据题干可以得知:鸟是可以飞的。也就是说,当鸟飞行时,它的高度是大于0的。鸵鸟是鸟类(生物学上)的一种。但它的飞行高度为0(鸵鸟不能飞)。 不要把可替代性和子集相混淆。即使鸵鸟集是鸟集的一个子集(每个驼鸟集都在鸟集内),但并不意味着鸵鸟的行为能够代替鸟的行为。可替代性与行为有关,与子集没有关系。当评价一个潜在的继承关系时,重要的因素是可替代的行为,而不是子集。 答案:如果一定要让鸵 阅读全文

posted @ 2011-08-02 20:05 原来... 阅读(3272) 评论(0) 推荐(0) 编辑

Determining the Size of a Class Object----sizeof(class)

摘要: Determining the Size of a Class ObjectBy Girish ShettyThere are many factors that decide the size of an object of a class in C++. These factors are:Size of all non-static data members Order of data members Byte alignment or byte padding Size of its immediate base class The existence of virtual funct 阅读全文

posted @ 2011-08-02 17:53 原来... 阅读(690) 评论(0) 推荐(0) 编辑

构造函数不能是虚函数的原因

摘要: 构造函数不能声明为虚函数的原因是:所谓虚函数就是多态情况下只执行一个,而从继承的概念来讲,总是要先构造父类对象,然后才能是子类对象,如果构造函数设为虚函数,那么当你在构造父类的构造函数时就不得不显示的调用构造,还有一个原因就是为了防错,试想如果你在子类中一不小心重写了个跟父类构造函数一样的函数,那么你的父类的构造函数将被覆盖,也即不能完成父类的构造.就会出错. 阅读全文

posted @ 2011-08-02 15:00 原来... 阅读(364) 评论(0) 推荐(1) 编辑

C++类中的常量

摘要: C++类中的常量由于#define 定义的宏常量是全局的,不能达到目的,于是想当然地觉得应该用 const 修饰数据成员来实现。const 数据成员的确是存在的,但其含义却不是我们所期望的。const 数据成员只在某个对象生存期内是常量,而对于整个类而言却是可变的,因为类可以创建多个对象,不同的对象其 const 数据成员的值可以不同。 不能在类声明中初始化 const 数据成员。以下用法是错误的,因为类的对象未被创建时,编译器不知道 SIZE 的值是什么。 Code highlighting produced by Actipro CodeHighlighter (freeware)http 阅读全文

posted @ 2011-08-02 14:41 原来... 阅读(9055) 评论(1) 推荐(4) 编辑

输入字符串,找出该字符串中abc出现的位置

摘要: #include<iostream>#include<vector>#include<string>#include<algorithm>using namespace std;int main(){vector<char> vec;vector<char>::iterator it;cout<<"输入第一个字符串"<<endl;char ch;while((ch=getchar())!='#')vec.push_back(ch);for(it=vec.begin 阅读全文

posted @ 2011-08-02 11:14 原来... 阅读(685) 评论(0) 推荐(0) 编辑

C++ explicit的作用

摘要: explicit作用:在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换,只能以显示的方式进行类型转换。explicit使用注意事项: * explicit 关键字只能用于类内部的构造函数声明上。 * explicit 关键字作用于单个参数的构造函数。 * 在C++中,explicit关键字用来修饰类的构造函数,被修饰的构造函数的类,不能发生相应的隐式类型转换例子:未加explicit时的隐式类型转换 1. class Circle 2. { 3. public: 4. Circle(double r) : R(r) {} 5. Circl 阅读全文

posted @ 2011-08-02 09:57 原来... 阅读(98976) 评论(7) 推荐(11) 编辑

导航