
C/C++
文章平均质量分 64
Arcsinsin
这个作者很懒,什么都没留下…
展开
-
字符串处理函数汇总
函数名: stpcpy功 能: 拷贝一个字符串到另一个用 法: char *stpcpy(char *destin, char *source);程序例:#include #include int main(void){ char string[10]; char *str1 = "abcdefghi"; stpcpy(string,原创 2013-02-27 23:13:17 · 620 阅读 · 0 评论 -
浅拷贝、深拷贝 Bitwise Copy和Memberwise Copy
http://www.vckbase.com/index.php/blog/view/id/32******************************************************************************************************************************************大家原创 2013-08-07 13:33:50 · 4102 阅读 · 2 评论 -
C语言/C++中怎样产生随机数
C语言/C++怎样产生随机数:这里要用到的是rand()函数, srand()函数,C语言/C++里没有自带的random(int number)函数。(1) 如果你只要产生随机数而不需要设定范围的话,你只要用rand()就可以了:rand()会返回一随机数值, 范围在0至RAND_MAX 间。RAND_MAX定义在stdlib.h, 其值为2147483647。例如:原创 2013-10-20 20:20:51 · 1479 阅读 · 0 评论 -
C++运算符优先级
优先级操作符描述例子结合性1()[]->.::++--调节优先级的括号操作符数组下标访问操作符通过指向对象的指针访问成员的操作符通过对象本身访问成员的操作符作用域操作符后置自增操作符后置自减操作符(a + b) / 4;array[4] = 2;ptr->age = 34;obj.age = 34;转载 2014-03-10 16:52:49 · 879 阅读 · 0 评论 -
C++ string转char*
string 是c++标准库里面其中一个,封装了对字符串的操作 把string转换为char* 有3中方法: 1。data 如: string str="abc"; char *p=str.data(); 2.c_str 如:string str="gdfd"; char *p=str.c_str(); 3 copy 比如 string str=转载 2014-04-08 10:29:09 · 1092 阅读 · 0 评论 -
char * a, char ** a, char * a[], char a[][], char * a[][], char ** a[][], char * a [][][], and so on
打开链接转载 2014-04-08 10:30:30 · 951 阅读 · 0 评论 -
C++中读取整个文件的方法
方式一#include "stdafx.h"#include #include using namespace std;int _tmain(int argc, _TCHAR* argv[]){ //写入文件 ofstream ofs; //提供写文件的功能 ofs.open("d:\\com.txt",ios::trunc); //trunc打开文件时,清空已存在的文件流,转载 2014-04-08 10:34:02 · 2924 阅读 · 0 评论 -
C++定义 声明 实现
http://blog.youkuaiyun.com/phenixyf/article/details/8573495http://www.cnblogs.com/mr-wid/archive/2013/02/18/2916309.html转载 2014-09-18 23:09:27 · 894 阅读 · 0 评论 -
C/C++ 通过初始化列表和构造函数内赋值初始化成员变量的区别
一般我们进行成员变量初始化用两种方法第一种是通过在构造函数内赋值class Point{public: Point(){ _x = 0; _y = 0;}; Point( int x, int y ){ _x = 0; _y = 0; }private: int _x, _y;};第二种是使用初始化列表 class Point{转载 2014-09-18 22:26:46 · 9760 阅读 · 0 评论 -
vector的内存分配机制
http://www.cnblogs.com/biyeymyhjob/archive/2012/09/12/2674004.html转载 2014-09-20 07:15:18 · 1379 阅读 · 0 评论 -
C++ 中public,protected,private访问
第一:private, public, protected 访问标号的访问范围。private:只能由1.该类中的函数、2.其友元函数访问。不能被任何其他访问,该类的对象也不能访问。protected:可以被1.该类中的函数、2.子类的函数、以及3.其友元函数访问。但不能被该类的对象访问。public:可以被1.该类中的函数、2.子类的函数、3.其友元函数访问,也可以由转载 2014-09-21 23:21:12 · 1275 阅读 · 0 评论 -
Linux下gcc/g++编译器介绍
介绍: http://www.ha97.com/2830.htmlhttp://pengbotao.cn/linux-gcc.htmlcc gcc g++的区别:http://blog.youkuaiyun.com/abc78400123/article/details/6827751gcc g++的区别:http://stackoverflow.com/questions/28236870/转载 2015-12-16 23:35:12 · 755 阅读 · 0 评论 -
boost function的用法
挖坑待填原创 2016-01-21 09:53:46 · 740 阅读 · 0 评论 -
编译时:virtual memory exhausted: Cannot allocate memory
http://blog.youkuaiyun.com/taiyang1987912/article/details/41695895原创 2016-01-21 09:56:48 · 3807 阅读 · 0 评论 -
C++异常处理及函数堆栈信息打印
参考:http://www.cnblogs.com/catch/p/3604516.html原创 2016-01-21 10:03:00 · 5358 阅读 · 0 评论 -
Linux C++ 时间与日期
http://blog.youkuaiyun.com/qcghdy/article/details/39057035http://blog.youkuaiyun.com/cserchen/article/details/5954150原创 2016-01-21 10:10:30 · 828 阅读 · 0 评论 -
C++单例模式实现及可能的问题
参考:http://blog.cnbang.net/tech/2229/转载 2015-12-21 22:18:04 · 706 阅读 · 0 评论 -
C++11新特性
http://my.oschina.net/wangxuanyihaha/blog/183151原创 2016-01-21 09:37:32 · 917 阅读 · 0 评论 -
C/C++函数如何返回struct或class对象
好文就是要大家分享:转自:http://www.cnblogs.com/zplutor/archive/2011/09/25/2190315.html所有的C、C++教科书都警告我们:不要通过函数来返回struct或 class对象,否则会造成内存复制以及复制构造函数的调用,降低性能。相信这句话已经成为了一个常识,大家都能牢记于心。然而,有时候我们不得不违反这个警告,例如,通过函数转载 2013-10-24 16:31:30 · 3589 阅读 · 0 评论 -
size_t、sizeof、strlen
size_t1.概述:size_t 类型定义在cstddef头文件中,该文件是C标准库的头文件stddef.h的C++版。它是一个与机器相关的unsigned类型,其大小足以保证存储内存中对象的大小。例如:bitset的size操作返回bitset对象中二进制位中的个数,返回值类型是size_t。例如:在用下标访问元素时,vector使用vector::size_t原创 2013-09-27 21:34:29 · 4130 阅读 · 1 评论 -
strchr函数
函数名称: strchr函数原型: char* strchr(char* str,char ch);函数功能: 找出str指向的字符串中第一次出现字符ch的位置函数返回: 返回指向该位置的指针,如找不到,则返回空指针参数说明: str-待搜索的字符串,ch-查找的字符原创 2013-02-27 23:10:04 · 1339 阅读 · 0 评论 -
C++复习之《程序员面试宝典》读书笔记(一)
1、C++中float型后面加为什么要加fhttp://zhidao.baidu.com/question/60469954.html【持续更新...】遗留问题:5.2 面试例题1 面试例题25.4 面试例题1原创 2013-05-26 21:12:04 · 1107 阅读 · 0 评论 -
C++字符串处理函数汇总
C++字符串转化为数字的库函数1、atoi功 能:把一字符串转换为整数用 法:int atoi(const char *nptr);详细解释:atoi是英文array to integer 的缩写。atoi()会扫描参数nptr字符串,如果第一个字符不是数字也不是正负号返回零,否则开始做类型转换,之后检测到非数字或结束符 /0 时停止转换,返回整型数。 参 数:原创 2013-06-18 17:51:58 · 1630 阅读 · 0 评论 -
Visual Studio 2010 安装 MSDN Library
VS2010正式版不再有单独的MSDN Library安装选项,以至于很多同学找不到本地的MSDN Library来用,其实VS2010的ISO安装光盘里已经包含有MSDN Library,只不过要手动安装,方法如下:1、安装完VS2010后,在开始菜单中打开Microsoft Visual Studio 2010 - Visual Studio Tools – Manage Help原创 2013-07-06 11:13:05 · 1360 阅读 · 0 评论 -
内存对齐机制
我相信在网上已经有很多关于内存对齐机制的文章了,在这里,我只想通过一个小例子来阐明内存分配的现象有这样的一段代码:[cpp] view plaincopy//: 内存对齐_2 #include struct A { char m1; // 1 double m2; // 8转载 2013-07-30 16:07:44 · 1094 阅读 · 0 评论 -
C/C++内存泄漏及检测
“该死系统存在内存泄漏问题”,项目中由于各方面因素,总是有人抱怨存在内存泄漏,系统长时间运行之后,可用内存越来越少,甚至导致了某些服务失败。内存泄漏是最难发现的常见错误之一,因为除非用完内存或调用malloc失败,否则都不会导致任何问题。实际上,使用C/C++这类没有垃圾回收机制的语言时,你很多时间都花在处理如何正确释放内存上。如果程序运行时间足够长,如后台进程运行在服务器上,只要服务器不宕机就一原创 2013-08-01 16:13:14 · 1066 阅读 · 0 评论 -
堆和栈的区别
转过无数次的经典文章堆和栈的区别一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表转载 2013-08-01 17:02:54 · 779 阅读 · 0 评论 -
C++的虚函数
下面是对C++的虚函数的理解。一,定义简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism),多态性是将接口与实现进行分离;用形象的语言来解释就是实现以共同的方法,但因个体差异而采用不同的策略。下面来看一段简单的代码class A{public:void print(){ co原创 2013-07-27 11:08:18 · 1157 阅读 · 0 评论 -
卷标结构(tag struct) && 结构与联集
结 构 (Structure) 通常一个简单之变量或数组不足以用来储存复杂之记录。C语言中有结构体之架构,允许使用者宣告数据实体将不同形式之元素储存一起。事实上,结构是一种是一种由使用者自订之数据型态。 在C语言中,结构的宣告方式如下 : struct 结构名称卷标 { 数据型态 数据变量元素1;原创 2013-08-05 12:04:39 · 1355 阅读 · 0 评论 -
C++中BOOL和bool的区别
一:大BOOL和小bool之间的区别:1、类型不同BOOL为int型bool为布尔型2、长度不同bool只有一个字节BOOL长度视实际环境来定,一般可认为是4个字节3、取值不同bool取值false和true,是0和1的区别BOOL取值FALSE和TRUE,是0和非0的区别4、例子bool x=3;原创 2013-08-08 14:45:33 · 1533 阅读 · 0 评论 -
内存对齐 alignment
结构体的内存布局依赖于CPU、操作系统、编译器及编译时的对齐选项。结构体内部成员的对齐要求,结构体本身的对齐要求。最重要的有三点(一)成员对齐。对于结构体内部成员,通常会有这样的规定:各成员变量存放的起始地址相对于结构的起始地址的偏移量必须为该变量的类型所占用的字节数的倍数。但是也可以看到,有时候某些字段如果严格按照大小紧密排列,根本无法达到这样的目的,因此有时候必须进行padding。各成员原创 2013-08-11 16:44:30 · 1273 阅读 · 0 评论 -
如何学习C++(C++书籍阶梯式推荐)
个人网摘,觉得写得很有道理。值得推荐,献给大家。 第一篇一些同学问我,如何学好C++,我没有别的办法给你们,唯一的办法就是读书,读大量的书,就可以解决。要把C++作为日常语言,而不是一种程序语言,这样就好办了。有人又要问我,那么我应该读什么书才好?没有时间怎么办?我只能对你们说,没时间的话,就别学C++了,做你们喜欢做的事。生活中没有C++,也同样美转载 2013-08-13 17:02:12 · 1945 阅读 · 0 评论 -
用freopen()读取程序的测试数据
当我们求解acm题目时,通常在设计好算法和程序后,要在调试环境中运行程序,输入测试数据,当能得到正确运行结果后,才将程序提交到oj中。但由于调试往往不能一次成功,每次运行时,都要重新输入一遍测试数据,对于有大量输入数据的题目,输入数据需要花费大量时间。使用freopen函数可以解决测试数据输入问题,避免重复输入,不失为一种简单而有效的解决方法。 函数名:freopen 声明:FILE原创 2013-01-25 19:34:42 · 3324 阅读 · 1 评论 -
常用头文件及包含的函数
math.h常用函数int abs (int x);double acos (double x);double asin (double x);double atan (double x);double atan2 (double y, double x);double atof (const char *s);double ceil (原创 2013-09-29 11:22:38 · 9824 阅读 · 0 评论 -
关于测试程序运行时间
要想准确测试程序运行时间,似乎是不可能完成的任务;目前测量程序运行时间主要有两类方法,一种是基于计时器Timer的,另一种是基于计数器Counter的。一:基于Timer的测量方法。缺点:精度不够高,不能用于程序运行持续时间小于100ms的测量。优点:准确性不是十分依赖于系统负载,并且在执行时间大于1s的程序上,与理论值之间的误差很低。方法:在程序开始时读取计时器的内容,在原创 2013-10-02 22:49:25 · 1429 阅读 · 0 评论 -
C++中malloc/free与new/delete的区别及内存分配失败错误处理
首先谈谈C/C++内存分配失败错误处理一、C语言中的malloc/calloc/realloc/valloc/alloca/memalign函数:这样的内存分配函数在内存分配失败时都返回空指针,因此,在调用返回时,检查返回值的方法比较简单,只需要与空指针比较即可;如:char* p = (char*)malloc(1204);if(p == NULL){ //e原创 2013-10-13 10:00:09 · 11069 阅读 · 1 评论 -
C++程序编译过程
首先是编译过程整体简介编译过程主要分为4个过程 1) 编译预处理 预编译程序完成的工作,可以说成是对源程序的“替换”工作。经过这个过程,生成一个没有宏定义、没有条件编译指令、没有特殊符号的输出文件。宏定义命令;例如#define条件编译指令;例如#ifdef头文件包含指令;例如#include特殊符号;例如__LINE__,__FILE__预处理模块;例如#prag原创 2013-10-13 10:56:18 · 1594 阅读 · 0 评论 -
可变参数模板函数的用法
参考:https://msdn.microsoft.com/zh-cn/library/dn439779.aspxhttp://blog.youkuaiyun.com/zhx6044/article/details/8858674原创 2016-01-13 15:24:37 · 624 阅读 · 0 评论