C++
文章平均质量分 55
另眼观世界
研究方向数据挖掘,高手过招,点到不止。
展开
-
C++指针动态转换
static_cast和reinterpret_cast运算符要么直接被编译器拒绝进行转换,要么就一定会得到相应的目标类型的值。 而dynamic_cast却会进行判别,确定源指针所指的内容,是否真的合适被目标指针接受。如果是否定的,那么dynamic_cast则会返回null。http://www.cnblogs.com/ider/archive/2011/08/01/cpp_cas转载 2013-09-05 15:10:02 · 1103 阅读 · 0 评论 -
C++ malloc新解
C++自身实现了malloc方法,另外new的底层实现也调用了malloc,s原创 2014-10-07 21:29:49 · 915 阅读 · 0 评论 -
More Effective C++ 阅读笔记
3.1指针与引用的区别:首先,要认识到在任何情况下都不能使用指向空值的引用。一个引用必须总是指向某些对象。因此如果你使用一个变量并让它指向一个对象,但是该变量在某些时候也可能不指向任何对象,这时你应该把变量声明为指针,因为这样你可以赋空值给该变量。指针与引用的另一个重要的不同是指针可以被重新赋值以指向另一个不同的对象。但是引用则总是指向在初始化时被指定的对象,以后不能改变。原创 2014-02-14 16:18:22 · 719 阅读 · 0 评论 -
网络中环的检测
在微策略和SAP的面试中,都被问及了网络中环路的问题,另外在自己的毕设中也涉及到了此问题。今天小结一下:网络中的环,一般可以用三种方法进行发现:1,拓扑排序:这种方法,比较简单需要存下每个结点的初度、入度;然后选择入度为0的结点进行删除,比较简单。2,BELLMAN-Ford算法:这种方法,适用于发现负回路,当然普通网络,我们通过赋权,可以实现转化。但是效率不高。代码:原创 2013-11-18 20:45:36 · 1328 阅读 · 0 评论 -
c++模糊问题系列1
问题1:数组的地址问题?#include#includeusing namespace std;int main(){ char a[5]; printf("%x\n",a); printf("%x\n",&a); printf("%x\n",&a[0]); printf("%x\n",a+1); printf("%x\n",&a+1);原创 2013-11-21 21:41:24 · 782 阅读 · 0 评论 -
c++构造函数
一、 构造函数是干什么的class Counter{public: // 类Counter的构造函数 // 特点:以类名作为函数名,无返回类型 Counter() { m_value = 0; } private:转载 2013-10-21 16:51:44 · 468 阅读 · 0 评论 -
2014年IT求职难题积累
昨晚(10.9)参加了美团的笔试,第六题最难:题目描述:给一个浮点数序列,取最大乘积连续子串的值,例如 -2.5,4,0,3,0.5,8,-1,则取出的最大乘积连续子串为3,0.5,8。也就是说,上述数组中,3 0.5 8这3个数的乘积3*0.5*8=12是最大的,而且是连续的。鄙人用了暴力方法,注定被鄙视了。后来解决此题,依然用动态规划:max = max(a[i],ma原创 2013-10-10 20:12:45 · 534 阅读 · 0 评论 -
C++虚函数的调用
的萨芬撒发发原创 2013-10-08 16:59:44 · 1235 阅读 · 0 评论 -
《深度探索C++对象模式》——中篇
C++内存布局:先看个小例子。class A{};class B:public virtual A{};class C:public virtual A{};class D:public B, public C{};int main(){ cout<<"sizeof(A)"<<sizeof(A)<<endl; cout<<"sizeof(B)"原创 2013-10-08 10:30:40 · 733 阅读 · 0 评论 -
《深度探索c++对象模型》——上篇
1,默认构造函数:C++继承机制,按照父类-->子类的流程构造对象,但是如若没有声明构造函数,c++会自动生成默认构造函数,不含形参。子类的默认构造函数,也是调用父类的默认构造函数。此时如若父类声明了含参的构造函数,调用就会出错。class Base{ public: Base() { cout<<"Base constructor"<<endl; }};原创 2013-10-07 20:06:13 · 846 阅读 · 0 评论 -
关于宏,一些东西要了解
1. 宏可以像函数一样被定义,例如: #define min(x,y) (x 但是在实际使用时,只有当写上min(),必须加括号,min才会被作为宏展开,否则不做任何处理。 2. 如果宏需要参数,你可以不传,编译器会给你警告(宏参数不够),但是这会导致错误。如C++书籍中所描 述的,编译器(预处理器)对宏的语法检查不够,所以更多的检查性工作得你自己来做。转载 2013-10-03 16:45:15 · 591 阅读 · 0 评论 -
C++ protocol buffer内存泄露问题
protocol buffer 推荐循环,重复使用,但是由于每次放入的东西内容大小不一致,原创 2014-10-07 21:27:23 · 7684 阅读 · 0 评论