C++
图灵AI云
格物致知
展开
-
为什么虚函数必须是非静态成员函数 构造函数能为static吗?
静态函数用static声明的函数是静态函数。静态函数可以分为全局静态函数和类的静态成员函数。Static关键字在类中,用static声明的成员变量为静态成员变量,它为该类的公用变量,在第一次使用时被初始化,对于该类的所有对象来说,static成员变量只有一份。用static声明的方法是静态方法,在调用该方法时,不会将对象的引用传递给它,所以在static方法中不可访问非stat转载 2015-06-04 12:31:39 · 1247 阅读 · 0 评论 -
linux c++ 服务器端开发面试必看书籍
由于很多朋友希望加入到Linux c++服务器端开发的队伍中,本人就结合自己的面试经历并整理了自己阅读的相关书籍,同大家分享,一起进步。人个认为以下是进入这个方向的必看书籍。一、算法基础系列 1、《数据结构基础(C语言版)》朱仲涛 译2、《剑指Offer》3、《编程之美》4、《编程珠玑》5、《CareerCup-Top 150 Questions 4th》6、《[算法导论].(美国)Cormen.原创 2016-01-24 16:04:09 · 20006 阅读 · 3 评论 -
代码中特殊的注释技术——TODO、FIXME和XXX的用处
前言: 今天在阅读Qt Creator的源代码时,发现一些注释中有FIXME英文单词,用英文词典居然查不到其意义! 实际上,在阅读一些开源代码时,我们常会碰到诸如:TODO、FIXME和XXX的单词,它们是有其特殊含义的。、TODO: + 说明: 如果代码中有该标识,说明在标识处有功能代码待编写,待实现的功能在说明中会简略说明。FIXME: + 说明: 如果代码中有该标识,说明标识处代码需转载 2015-11-23 12:49:39 · 730 阅读 · 0 评论 -
wifi 万能钥匙面试题目
1. 使用linux c++,实现一个client和server,要求对功能做一些简单的封装,设计成几个简单的类,使用Makefile进行依赖管理;2. client使用连接池技术管理与服务器的通信,主线程间隔1s从连接池中取到一个连接,发送到server端,请求的格式为json,其中只有一个key为id;3. server使用epoll+多线程进行设计,工作线程取到client的请求后,响应一原创 2015-05-29 10:21:47 · 4244 阅读 · 2 评论 -
python类变量与 C++的静态变量并不等效
我们在给python的类定义变量时,有时会定义带self的变量(这种变量是实例成员变量,为每一个实例成员所有,即可以用实例来调用,也可以用类来调用),还有一种变量是类的(在类的内部定义的,不带self属性,有点类似于c++的静态变量,c++为所有实例共享,但c++中的类量变不能通过实例对像来直接修改和调用,而需要通过类来修改和调用, 一旦被修改了,所有的实例看到的该类变量都是被修改过的。而pytho原创 2015-09-04 17:08:35 · 1126 阅读 · 0 评论 -
C++ 智能指针详解
http://blog.csdn.net/xt_xiaotian/article/details/5714477一、简介由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete。程序员忘记 delete,流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不罕见。用智能指针便可以有效缓解这类问题,转载 2015-07-31 21:40:35 · 416 阅读 · 0 评论 -
C++中智能指针的设计和使用
C++智能指针的完全实现是体现一个C++开发者的技术功底的时候了,现在我给出几个很好的实现。这个实现的不错。 http://blog.csdn.net/hackbuteer1/article/details/7561235这个实现的有点小问题。 http://www.cnblogs.com/bigwangdi/archive/2013/06/15/3138123.html原创 2015-07-17 21:28:55 · 400 阅读 · 0 评论 -
构造函数析构函数为什么没有返回值?
构造函数和析构函数是两个非常特殊的函数:它们没有返回值.这与返回值为void的函数显然不同.后者虽然也不返回任何值,但还可以让它做点别的事情,而构造函数和析构函数则不允许.在程序中创建和消除一个对象的行为非常特殊,就像出生和死亡,而且总是由编译器来调用这些函数以确保它们被执行.如果它们有返回值,要么编译器必须知道如何处理返回值,要么就只能由客户程序员自己来显式的调用构造函数与析构函数,这样一来,安转载 2015-07-15 20:38:11 · 1698 阅读 · 0 评论 -
C++ 中dynamic_cast<>的使用方法
/*这是从网上摘下的例子,主要讲述了 dynamic_cast/* 作用:将一个基类对象指针(或引用)cast到继承类指针,dynamic_cast会根据基类指针是否真正指向继承类指针来做相应处理, 即会作一定的判断。 对指针进行dynamic_cast,失败返回null,成功返回正常cast后的对象指针; 对引用进行dynamic_c转载 2015-07-28 17:25:07 · 2100 阅读 · 0 评论 -
用C++设计并实现一个大整数类
http://blog.csdn.net/hackbuteer1/article/details/6595881原创 2015-07-27 13:16:04 · 5491 阅读 · 0 评论 -
为什么C++中空类和空结构体大小为1?
这篇文章是一篇译文,跟上一篇文章相呼应的,原文在这里。对于结构体和空类大小是1这个问题,首先这是一个C++问题,在C语言下空结构体大小为0(当然这是编译器相关的)。这里的空类和空结构体是指类或结构体中没有任何成员。在C++下,空类和空结构体的大小是1(编译器相关),这是为什么呢?为什么不是0?这是因为,C++标准中规定,“no object shall have the s转载 2015-07-10 21:29:46 · 1501 阅读 · 0 评论 -
std::tr1::shared_ptr 使用的一点体会
转载于:http://www.cppblog.com/sleepwom/archive/2010/09/03/125832.html在 c++ 98 里面只有一种智能指针,就是 std::auto_ptr,因为具有唯一所有权的特征,所以限制了它的使用范围,比如你无法在容器中使用它。而我们知道 stl 容器是值语义的,如果不能用智能指针管理的话,只有两种办法来使用。转载 2015-07-11 21:13:03 · 541 阅读 · 0 评论 -
C++完美实现Singleton模式
转载于:http://www.cnblogs.com/08shiyan/archive/2012/03/16/2399617.htmlSingleton模式是常用的设计模式之一,但是要实现一个真正实用的设计模式却也不是件容易的事情。1. 标准的实现class Singleton{public: static Singleton * Ins转载 2015-07-11 20:38:52 · 452 阅读 · 0 评论 -
error: std::ios_base::ios_base(const std::ios_base&)’是私有的
用std::ifstream,std::ofstream作为函数参数传递时,必须通过引用传递,因为其copy方法被私有化,从而保证对象的唯一性。正确代码 3 #include <iostream> 4 #include <fstream> 5 using namespace std; 6 7 OrderEntryMsg ReadOrderEntryMsg(ifstream &in原创 2015-06-10 20:16:59 · 2954 阅读 · 0 评论 -
C++和JAVA的区别
一、C++有而Java没有的特性由于Java本身就是从C++衍生出来的,这里只提C++具备的特性而被Java摒弃的——00、Java不再支持指针。这可能是C++和Java之间的最大不同。【注】既然JAVA中不存在指针,那么也不存在->操作符。01、Java不再支持操作符重载。02、Java不再包含结构或者联合。在可以完全包含它们的类出现后,这些结构成为冗余部分。03转载 2015-06-07 16:39:33 · 1708 阅读 · 0 评论 -
为什么内联函数,构造函数,静态成员函数不能为virtual函数
为什么内联函数,构造函数,静态成员函数不能为virtual函数?1> 内联函数内联函数是在编译时期展开,而虚函数的特性是运行时才动态联编,所以两者矛盾,不能定义内联函数为虚函数。2> 构造函数构造函数用来创建一个新的对象,而虚函数的运行是建立在对象的基础上,在构造函数执行时,对象尚未形成,所以不能将构造函数定义为虚函数。3> 静态成员函数静态成员函数转载 2015-06-04 13:31:56 · 911 阅读 · 0 评论 -
C++中Static作用和使用方法
1、什么是static? static 是C++中很常用的修饰符,它被用来控制变量的存储方式和可见性。 2、为什么要引入static? 函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想转载 2015-06-03 17:22:03 · 582 阅读 · 0 评论 -
vscode c++ 保存时进行代码格式化
vscode是很好的编辑器,一般需要保存时进行代码格式化。一般需要如下配置//需要保存时进行格式化"editor.formatOnSave": true,//需要配置tab对应的空格键时"editor.insertSpaces": true,"editor.tabSize": 4,"editor.detectIndentation": false,//用astyle进行c++代码格...原创 2019-08-25 15:15:02 · 1887 阅读 · 0 评论