C/C++
文章平均质量分 86
浩世轩宇
这个作者很懒,什么都没留下…
展开
-
C++经典笔试题详解
1.static有什么用途?(请至少说明两种)1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用2.引用与指原创 2015-06-22 10:33:19 · 1211 阅读 · 0 评论 -
effective C++之构造、析构、赋值运算
条款05:了解C++默默编写了并调用了那些函数 编译器会声明一个copy构造函数,一个copy assignment 操作符合一个析构函数所有这些函数都是public和inline的 如果打算在一个内含reference 成员的class内支持赋值操作你必须自己定义copy assignment 操作符面对const成员的classes编译器反应也一样。原创 2015-03-22 21:44:37 · 683 阅读 · 0 评论 -
Effective C++ 改善程序设计的55个具体做法(一)
Effective C++ 改善程序设计的55个具体做法(一) 让自己习惯C++原创 2015-01-03 18:50:29 · 1320 阅读 · 0 评论 -
C++ ofstream和ifstream详细用法以及C语言的file用法
ofstream是从内存到硬盘,ifstream是从硬盘到内存,其实所谓的流缓冲就是内存空间; 在C++中,有一个stream这个类,所有的I/O都以这个“流”类为基础的,包括我们要认识的文件I/O,stream这个类有两个重要的运算符: 1、插入器( 向流输出数据。比如说系统有一个默认的标准输出流(cout),一般情况下就是指的显示器,所以,cout 2、原创 2014-05-18 10:19:53 · 10726 阅读 · 0 评论 -
STL算法概述
STL经典总结....转载 2014-03-23 10:35:33 · 1204 阅读 · 0 评论 -
跟我一起写 Makefile
概述 —— 什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会转载 2017-09-15 15:38:52 · 394 阅读 · 0 评论 -
effective C++之构造、析构、赋值运算
条款05:了解C++默默编写了并调用了那些函数 编译器会声明一个copy构造函数,一个copy assignment 操作符合一个析构函数所有这些函数都是public和inline的 如果打算在一个内含reference 成员的class内支持赋值操作你必须自己定义copy assignment 操作符面对const成员的classes编译器反应也一样。 另一种情况:如果某个原创 2017-09-15 15:36:37 · 314 阅读 · 0 评论 -
efficient C++(七)模板与范式编程
条款41:了解隐式接口与编译期多态(Understand implicit iterface and compile-time polymorhism)类和对象:显示接口(explicit interface): 即在源代码中可见, 可以在头文件内看到类的所有接口(由函数签名式函数名称参数类型返回值等)运行期多态(runtime polymorphism):成员函数是virtual,原创 2017-09-15 15:42:09 · 807 阅读 · 0 评论 -
gdb 调试入门,大牛写的高质量指南
gdb 调试 ncurses 全过程:发现网上的“gdb 示例”只有命令而没有对应的输出,我有点不满意。gdb 是 GNU 调试器,Linux 上的标配调试器。当我看 Greg Law 在 CppCon 2015 上的演讲《给我 15 分钟,我将改变你的对 GDB 的认知》的时候,我想起了示例输出的不足,幸运的是,这次有输出!这 15 分钟太值了。它也启发我去分享一个完整的 gdb 调试实...转载 2017-10-09 15:00:59 · 10922 阅读 · 0 评论 -
NULL指针、零指针、野指针
1. 空指针、NULL指针、零指针1.1什么是空指针常量0、0L、'\0'、3 - 3、0 * 17 (它们都是“integer constant expression”)以及 (void*)0 (我觉得(void*)0应该算是一个空指针吧,更恰当一点)等都是空指针常量(注意 (char*) 0 不叫空指针常量,只是一个空指针值)。至于系统选取哪种形式作为空指针常量使用,则是实现相原创 2015-06-21 12:00:57 · 726 阅读 · 0 评论 -
C++ 多继承和虚继承的内存布局(Memory Layout for Multiple and Virtual Inheritance)
C++ 多继承和虚继承的内存布局(Memory Layout for Multiple and Virtual Inheritance)原创 2014-12-31 09:14:54 · 1582 阅读 · 2 评论 -
C++对象模型详解(整理)
一、何为C++对象模型?C++对象模型可以概括为以下2部分:1. 语言中直接支持面向对象程序设计的部分2. 对于各种支持的底层实现机制语言中直接支持面向对象程序设计的部分,如构造函数、析构函数、虚函数、继承(单继承、多继承、虚继承)、多态等等第一部分这里我简单过一下,重点在底层实现机制。原创 2015-03-26 17:16:23 · 2707 阅读 · 0 评论 -
C++库中的BitSet用法详解及源码介绍
(1)bitset数据结构体定义 bitset定义在对应的bitset.h头文件内,结构如下: typedef struct { size_t *bits; size_t nbits; } bitset; 字段bits类似于记录保存比特的数组(通过一连串的size_t类型存储空间),而nbits记录该数组内的比特元素数目。 为了更好的理解这个结构体的字段元素,只要看其对应的初始化函原创 2014-02-28 15:57:23 · 4123 阅读 · 0 评论 -
C++临时对象的生命周期
有关临时对象的生命周期有三种情况:1)一般情况:临时性对象的被摧毁,应该是对完整表达式(full-expression)求值过程中的最后一个步骤。该完整表达式造成临时对象的产生。例:#include using namespace std;class A{public: A(int i): m_i(i) { cout }转载 2014-05-01 09:09:59 · 798 阅读 · 0 评论 -
C++ 容器及选用总结
C++ 容器及选用总结目录====================================================第一章 容器第二章 Vector和string第三章 关联容器第四章 迭代器第五章 算法第六章 函数第七章 在程序中使用STL==========================================原创 2014-03-26 09:23:15 · 1337 阅读 · 1 评论 -
C++ 流(stream)总结
C++中流的操作总结原创 2014-11-10 17:22:27 · 43476 阅读 · 2 评论 -
C++中引用与指针的区别(详细介绍)
C++中的引用与指针的区别 指向不同类型的指针的区别在于指针类型可以知道编译器解释某个特定地址(指针指向的地址)中的内存内容及大小,而void*指针则只表示一个内存地址,编译器不能通过该指针所指向对象的类型和大小,因此想要通过void*指针操作对象必须进行类型转化。 ★ 相同点: 1. 都是地址的概念; 指针指向一块内存,它的内容是所原创 2014-10-11 09:16:34 · 513 阅读 · 0 评论 -
C++对象大小讨论
C++对象的大小不同的编译器的实现是不一样的,以下仅讨论.net2003,其他编译的可能出现的结果以下也做了分析和猜测。在反推不同编译器实现的C++对象的大小时。对齐是一个很重要也容易被遗忘的问题。//test.cpp#include using std::cout;using std::endl;class A{};//类A是一个空类,但是它的大小并不为0转载 2014-10-11 08:58:36 · 536 阅读 · 0 评论 -
指针函数与函数指针的区别
一、在学习arm过程中发现这“指针函数”与“函数指针”容易搞错,所以今天,我自己想一次把它搞清楚,找了一些资料,首先它们之间的定义:1、指针函数是指带指针的函数,即本质是一个函数。函数返回类型是某一类型的指针 类型标识符 *函数名(参数表) int *f(x,y); 首先它是一个函数,只不过这个函数的返回值是一个地址值。函数返回值必须用同类型的指针原创 2014-10-31 09:16:20 · 839 阅读 · 0 评论 -
C++流操作(二)
流(Stream)是C++和C之间的一大区别。写C++的程序员都知道流的用法。在Poco库中,在标准流的基础上又扩充了一些流,分别是基于Base64和HexBinary的编解码流,使用zlib的数据压缩流,二进制的I/O流,文件流,以及一些其他的辅助流;另外Poco库还提供了一个扩展的结构,用于创建用户自定义流。 Poco库中所有的流类都与标准c++库中的流兼容。并且在P转载 2014-11-16 20:17:54 · 1859 阅读 · 0 评论 -
Linux下用来获取各种系统信息的C++类
#include #include "sys/config.h" SYS_NAMESPACE_BEGIN /*** * 用来获取系统、内核和进程的各类实时信息,如CPU和内存数据 */class CInfo { public: /*** * 系统当前实时信息 */ ty原创 2014-11-19 09:32:24 · 2356 阅读 · 0 评论 -
C++之tinyXML使用
tinyXML一款很优秀的操作C++类库,文件不大,但方法很丰富,和apache的Dom4j可以披靡啊!习惯了使用java类库的我看到这么丰富的c++类库,很高兴!它使用很简单,只需要拷贝几个文件到你的工程中,没有STL也可以编译运行。 下面我从这几个方面谈谈对tinyXML类库的使用以及理解。 首先在sourceforge上下载tinyXML类库,地址:h原创 2014-07-07 13:08:10 · 959 阅读 · 1 评论