c/c++语言
文章平均质量分 68
qwerty_xk
算法ACM 向数据挖掘、人工智能、神经网络迈进
展开
-
C++技术推荐书籍
以前有不少朋友问关于学习各种技术的推荐书籍的问题,这里把我觉得比较好的一些书籍列一下,希望能起到抛砖引玉的作用就好了:)C++C++ Primer,Thinking in C++,The Standard C++ Library,The C++ Programming Language:这几本书就不多介绍了,很有名的书,我就不罗嗦了Effective C++和Mor转载 2012-12-20 22:33:33 · 317 阅读 · 0 评论 -
poj 1321 棋盘数组
用递归 dfs 回溯即可#includeusing namespace std;#define N 10char mat[N][N];int vis[N],c;void dfs(int n,int k,int row){ if(k==0) { c++; return ; } if(row>n-1) return; for(in原创 2013-10-21 16:08:29 · 683 阅读 · 0 评论 -
1500个丑数
题:只有2 3 5 这三个因子的数,求第1500个 设1 为第一个丑数 解法:1 简单的暴力搜索,对每个数进行因子判别,直到搜到第1500个 评价:耗时 不可取2 将得到的数保存在一个数组中,按从小到大的顺序进行存放,对该数组前面的数分别乘以2 3 5,每乘一个因子,先乘到刚好大于该数组最大的值,然后break进行下一个因子相乘 ,得到三个数,比较得到这三个数中的最小原创 2013-10-15 15:12:05 · 3239 阅读 · 0 评论 -
构造函数不能为虚函数
为什么构造函数不能使虚函数:一、构造函数不能为虚函数的理由:1,从存储空间角度 虚函数对应一个vtable,这大家都知道,可是这个vtable其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。2,从使用角度转载 2013-09-29 22:34:00 · 802 阅读 · 0 评论 -
Boost智能指针——shared_ptr
Boost智能指针——shared_ptrboost::scoped_ptr虽然简单易用,但它不能共享所有权的特性却大大限制了其使用范围,而boost::shared_ptr可以解决这一局限。顾名思义,boost::shared_ptr是可以共享所有权的智能指针,首先让我们通过一个例子看看它的基本用法:#include #include #include class转载 2013-06-17 17:30:14 · 534 阅读 · 0 评论 -
C++的一些字节问题
c++ class中成员函数,static变量在编译时都不会被分配内存,只有实实在在的int,char,long,float,double等类型才会被分配内存,并且以当前字节长度最大的类型来成倍分配内存,而虚函数同理也不会被分配内存,无论声明多少个虚函数都如此,但是类中会存放一个虚指针,指向虚函数表,该虚函数表存放在内存中,跟类地址无关的一个地址中,所以在计算class的sizeof的时候原创 2013-06-07 16:39:13 · 1002 阅读 · 0 评论 -
C++多态性
C++编程语言是一款应用广泛,支持多种程序设计的计算机编程语言。我们今天就会为大家详细介绍其中C++多态性的一些基本知识,以方便大家在学习过程中对此能够有一个充分的掌握。 多态性可以简单地概括为“一个接口,多种方法”,程序在运行时才决定调用的函数,它是面向对象编程领域的核心概念。多态(polymorphisn),字面意思多种形状。 C++多态性是通过虚函数来实现的,虚函数允许子类重新定转载 2013-06-06 17:10:13 · 571 阅读 · 0 评论 -
构造函数 析构函数的一些问题
构造函数为什么不能是虚函数?1 构造一个对象的时候,必须知道对象的实际类型,而虚函数行为是在运行期间确定实际类型的。而在构造一个对象时,由于对象还未构造成功。编译器无法知道对象的实际类型,是该类本身,还是该类的一个派生类,或是更深层次的派生类。无法确定。。。2 虚函数的执行依赖于虚函数表。而虚函数表在构造函数中进行初始化工作,即初始化vptr,让他指向正确的虚函数表转载 2013-05-31 21:14:45 · 619 阅读 · 0 评论 -
C++ SOCI
今天看项目,看到一个用法sql->once 说上面这个是sql语句的立即执行,然后把执行语句后查询出来的内容传到元组项s1,s2里面然后还有比如 sql->prepare 则是把语句先缓存起来,等待一定时间之后或者积累了很多条之后,进行批处理执行大开眼界,以前完全不知道有这样的c++的用法,找到了一些完整的概念说明和用法SOCI is a database acc原创 2013-05-09 20:37:53 · 1913 阅读 · 0 评论 -
C++ Variadic templates
C++的新特性 存在于C++ 0X 和C++11中 简要摘抄一下C++ Variadic template的特性:Variadic template is a template, which can take an arbitrary number of template arguments of any type. Both the classes & funct转载 2013-05-09 21:22:22 · 725 阅读 · 0 评论 -
微软一百题 第22题
第22题:有4张红色的牌和4张蓝色的牌,主持人先拿任意两张,再分别在A、B、C三人额头上贴任意两张牌,A、B、C三人都可以看见其余两人额头上的牌,看完后让他们猜自己额头上是什么颜色的牌,A说不知道,B说不知道,C说不知道,然后A说知道了。请教如何推理,A是怎么知道的。如果用程序,又怎么实现呢?此题如果用计算机程序来模拟,那么肯定是用枚举,所有可能原创 2013-04-14 20:25:08 · 771 阅读 · 0 评论 -
一个关于memset使用的问题
今天在写素数的输出的一个小代码void prime(){ /*for(int i=0;i<=N;i++) number[i]=1;*/ memset(number,1,sizeof(number)); number[1]=0; int i,j; for(i=2;i<=N;i++) { if(number[i]==1) { for(j=2;j*i<=N;j原创 2013-03-24 18:40:12 · 706 阅读 · 0 评论 -
c/c++的一点知识
extern与staticextern和static是C语言中的两个修饰符,extern可以用于修饰函数或者变量,表示该变量或者函数在其他文件中进行了定义;static也可以用于修饰函数或者变量,表示该函数或者变量只能在该文件中使用。可利用它们对数据或者函数进行隐藏或者限制访问权限可以利用 结构体在内存中的布局与结构体的声明具有一致的顺序 这一事实在c语言中来实现继承可以利用c语言转载 2013-04-02 22:26:03 · 605 阅读 · 0 评论 -
C++ static、const和static const 以及它们的初始化
const定义的常量在函数执行之后其空间会被释放,而static定义的静态常量在函数执行后不会被释放其空间。static 表示的是静态的。类的静态成员函数,成员变量是和类相关的,不是和类的具体对象相关,即使没有具体的对象,也能调用类的静态成员函数,成员变量。一般的静态函数几乎就是一个全局函数,只不过它的作用域限于包含它的文件中。 在c++中,static静态成员变量不能在类内部初始化。转载 2013-03-09 13:36:57 · 492 阅读 · 0 评论 -
剖析Intel IA32架构下C语言及CPU浮点数机制
剖析Intel IA32架构下C语言及CPU浮点数机制 前言 这两天翻看一本C语言书的时候,发现上面有一段这样写到 例:将同一实型数分别赋值给单精度实型和双精度实型,然后打印输出。 #include main() { float a;转载 2012-09-08 16:10:02 · 1384 阅读 · 0 评论 -
输出蛇形数组
前几天做小米的笔试题,遇到一个蛇形数组的题目,让你编程输出如下类似的蛇形矩阵1 2 6 73 5 8 134 9 12 1410 11 15 16 #includeusing namespace std;#define N 15int mat[N][N];int all;void getLaye原创 2013-10-21 11:29:42 · 2549 阅读 · 0 评论