c++
Junkie0901
这个作者很懒,什么都没留下…
展开
-
C++学习之学习建议
下面的是学C++时要注意的。 1.把C++当成一门新的语言学习(和C没啥关系!真的。); 2.看《Thinking In C++》,不要看《C++变成死相》; 3.看《The C++ Programming Language》和《Inside The C++ Object Model》,不要因为他们很难而我们自己是初学者所以就不看; 4.不要被VC、BCB、BC、MC、TC等词转载 2013-12-20 16:39:49 · 548 阅读 · 0 评论 -
Protocol Buffers 语法指南
作者信息石头儿和本声明。否则将追究法律责任。http://shitouer.cn/2013/04/google-protocol-buffers-tutorial/1. 概述前两篇文章,我们概括介绍《Google Protocol Buffers 概述》以及带领大家简单的《Google Protocol Buffers 入门》,接下来,再稍微详细一点介绍Protocol Buf转载 2015-03-12 18:33:18 · 510 阅读 · 0 评论 -
Google Protocol Buffer 的使用和原理
什么是 Google Protocol Buffer? 假如您在网上搜索,应该会得到类似这样的文字介绍:Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准,目前已经正在使用的有超过 48,162 种报文格式定义和超过 12,183 个 .proto 文件。他们用于 RPC 系统和持续数据存储系统。Protocol转载 2015-03-12 15:48:30 · 716 阅读 · 1 评论 -
值得推荐的C/C++框架和库 (真的很强大)
值得学习的C语言开源项目- 1. WebbenchWebbench是一个在linux下使用的非常简单的网站压测工具。它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力。Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行。下载链接:http://home.tiscali.cz/转载 2015-03-27 17:30:14 · 9099 阅读 · 0 评论 -
了解 Boost 单元测试框架
什么是单元测试?复杂的 C/C++ 代码中很可能有 bug,到代码编写完成之后再来测试就像大海捞针。比较谨慎的办法是,在编写各个代码段时,针对特定的区域(例如,一些包含大量计算的 C 函数或声明队列等数据结构的C++ 类),添加专门的小测试(单元测试),以在编写代码的同时进行测试。按这种方式构建的回归测试套件包含一套单元测试和一个测试驱动程序,这个程序运行测试并报告结果。转载 2015-03-05 16:56:38 · 852 阅读 · 0 评论 -
C/C++ 笔试、面试题目大汇总
1.求下面函数的返回值( 微软)int func(x) { int countx = 0; while(x) { countx ++; x = x&(x-1); } return countx; }假定x = 9999。 答案:8思路:将x转化为2进制,看含有的1的个数。 2. 什么是“引用”?申明和使用“引用转载 2014-04-17 14:31:41 · 543 阅读 · 0 评论 -
C/C++ 笔试、面试题目大汇总2
一.找错题试题1:void test1(){ char string[10]; char* str1 = "0123456789"; strcpy( string, str1 );} 试题2:void test2(){ char string[10],str1[10]; int i; for(i=0; i10;转载 2014-04-17 14:32:49 · 564 阅读 · 0 评论 -
Valgrind基本使用说明(具体说明见user manual)
Valgrind是运行在Linux上一套基于仿真技术的程序调试和分析工具,是公认的最接近Purify的产品,它包含一个内核——一个软件合成的CPU,和一系列的小工具,每个工具都可以完成一项任务——调试,分析,或测试等。Valgrind可以检测内存泄漏和内存越界,还可以分析cache的使用等,灵活轻巧而又强大。 一 Valgrind概观Valgrind的最新版是3.2.3,该版本包含下转载 2014-04-16 14:00:12 · 830 阅读 · 0 评论 -
valgrind简单介绍
用C/C++开发其中最令人头疼的一个问题就是内存管理,有时候为了查找一个内存泄漏或者一个内存访问越界,需要要花上好几天时间,如果有一款工具能够帮助我们做这件事情就好了,valgrind正好就是这样的一款工具。Valgrind是一款基于模拟linux下的程序调试器和剖析器的软件套件,可以运行于x86, amd64和ppc32架构上。valgrind包含一个核心,它提供一个虚拟的CPU运行程序转载 2014-04-16 13:46:34 · 649 阅读 · 0 评论 -
LINUX core dump详解
1. 前言:有的程序可以通过编译, 但在运行时会出现Segment fault(段错误). 这通常都是指针错误引起的.但这不像编译错误一样会提示到文件->行, 而是没有任何信息, 使得我们的调试变得困难起来.2. gdb:有一种办法是, 我们用gdb的step, 一步一步寻找. 这放在短小的代码中是可行的, 但要让你step一个上万行的代码, 我想你会从此厌恶程序员这个名字转载 2014-03-27 17:14:46 · 594 阅读 · 0 评论 -
C++迭代器 iterator
1. 迭代器(iterator)是一中检查容器内元素并遍历元素的数据类型。(1) 每种容器类型都定义了自己的迭代器类型,如vector:vector::iterator iter;这条语句定义了一个名为iter的变量,它的数据类型是由vector定义的iterator类型。(2) 使用迭代器读取vector中的每一个元素:vector ivec(10,1);for(vector转载 2013-11-20 13:56:21 · 902 阅读 · 0 评论 -
关键字explicit修饰构造函数
按照默认规定,只有一个参数的构造函数也定义了一个隐式转换,将该构造函数对应数据类型的数据转换为该类对象,如下面所示:class String {String ( const char* p ); // 用C风格的字符串p作为初始化值//…}String s1 = “hello”; //OK 隐式转换,等价于String s1 = String(“hello”转载 2013-11-08 11:04:23 · 638 阅读 · 0 评论 -
man c++手册
使用Linux下man已经很久了。但只是大概知道其内容的存放目录,以及man number xxx中mumber的含义。今天需要添加C++ man page。顺便将man的内容作一个较详细的了解。 0. man后面数字的含义:之前Sam在查找C库函数时,会使用#man 3 func在查找系统调用时,则使用#man 2 fork.否则有时会出现查到同名的she转载 2013-11-27 10:15:06 · 791 阅读 · 0 评论 -
make_pair函数
Pairs C++标准程序库中凡是“必须返回两个值”的函数, 也都会利用pair对象 classpair可以将两个值视为一个单元。容器类别map和multimap就是使用pairs来管理其健值/实值(key/value)的成对元素。 pair被定义为struct,因此可直接存取pair中的个别值.两个pairs互相比较时, 第一个元素正具有较高的优先级.转载 2014-01-09 15:23:58 · 957 阅读 · 0 评论 -
float数据在内存中的存储方法
浮点型变量在计算机内存中占用4字节(Byte),即32-bit。遵循IEEE-754格式标准。一个浮点数由2部分组成:底数m 和 指数e。 ±mantissa × 2exponent (注意,公式中的mantissa 和 exponent使用二进制表示)底数部分 使用2进制数来表示此浮点数的实际值。指数部分 占用8-bit的二进制转载 2014-01-11 09:49:47 · 526 阅读 · 0 评论 -
什么情况下要有拷贝构造函数
拷贝构造函数,经常被称作X(X&),是一种特殊的构造函数,他由编译器调用来完成一些基于同一类的其他对象的构件及初始化。它的唯一的一个参数(对象的引用)是不可变的(因为是const型的)。这个函数经常用在函数调用期间于用户定义类型的值传递及返回。拷贝构造函数要调用基类的拷贝构造函数和成员函数。如果可以的话,它将用常量方式调用,另外,也可以用非常量方式调用。 在C++中,下面三种对象需要拷贝的情况转载 2014-01-13 19:24:52 · 992 阅读 · 0 评论 -
C++ Virtual函数 .
虚函数是C++中用于多态的机制。核心理念就是通过基类访问派生类定义的函数。基类的析构含糊都必须是virtual的虚函数只能借助于指针或者引用来达到多态的效果。前提B类继承与A类 且foo()为虚函数void bar(A *a){ a->foo();//被调用的是A::foo()还是B::foo() ?}如果a指向的是A类的实例,则A::foo()被调用,如果a指向转载 2013-10-31 15:34:30 · 517 阅读 · 0 评论 -
如何学好C++,用好类库很重要
现实中,C++的库门类繁多,解决的问题也是极其广泛,库从轻量级到重量级的都有。本文为你介绍了十一种类库,有我们常见的,也有不常见的,一起来看。如果你有一定的C基础可能学起来比较容易些,但是学习C++的过程中又要尽量避免去使用一些C中的思想;平时还要多看一些高手写的代码,遇到问题多多思考,怎样才能把问题抽象化,以使自己头脑中有类的概念;最后别忘了经常上机自己调调程序,这是谁也转载 2015-09-10 18:05:58 · 729 阅读 · 0 评论