C/C++
飞翔的蜻蜓
这个作者很懒,什么都没留下…
展开
-
32位64位操作系统基本数据类型字节大小 2014-03-12 09:44
int型字长问题:① C/C++规定int字长和机器字长相同;② 操作系统字长和机器字长未必一致;③ 编译器根据操作系统字长来定义int字长; 由上面三点可知,在一些没有操作系统的嵌入式计算机系统上,int的长度与处理器字长一致;有操作系统时,操作系统的字长与处理器的字长不一定一致,此时编译器根据操作系统的字长来定义int字长:"比如你在64位机器上运行DOS16系统,那转载 2014-05-03 22:51:57 · 578 阅读 · 0 评论 -
做错过的C语言题目- 微信“程序猿”推荐 -2014-03-12 20:39
看微信里“程序猿”推荐文章--“做错过的C语言题目”,很多不确定的,更有没见多的。 第一个宏应用:#include #define STRCPY(a, b) strcpy(a ## _p, #b) int main() { char var1_p[20]; char var2_p[30]; strcpy(var1_p, "aaaa"; strcpy(var2_p,转载 2014-05-09 23:02:16 · 480 阅读 · 0 评论 -
unique binary search Trees
题:n个不同节点(不妨设每个节点的值为i),求出这些节点可组成的二叉查找树的种数。如n=3时,有5种,想法:肯定不能是一一列举求总数,应该是用递推的方法。假设n个节点的种类数为T(n),那么T(n+1)和T(n)有什么关系:对于T(n)里的每一个树,现添加一个节点(值为n+1),显然可以将节点n+1顺树的结构按查找树的插入方法插入进去,所以T(n+1)=T(n)+X;另外,当节原创 2014-06-17 22:23:43 · 453 阅读 · 0 评论 -
printf中%s中间可以加空格 -2013-09-20 12:32
在c中“%”用来控制输入的格式,但今天偶然发现“%s”中间加了空格也可以正常输出,而且可以加多个空格!猜测编译器(VC6.0)在编译时自动将%后的空格过滤掉了。原创 2014-04-29 22:23:53 · 4421 阅读 · 0 评论 -
C++小知识之指针和引用的区别
阿里温故而知新,指针和引用的概念,大学时都已熟知,实际用的时候往往又有些疑惑,故深入探究一下。从概念上讲。指针从本质上讲就是存放变量地址的一个变量,在逻辑上是独立的,它可以被改变,包括其所指向的地址的改变和其指向的地址中所存放的数据的改变。而引用是一个别名,它在逻辑上不是独立的,它的存在具有依附性,所以引用必须在一开始就被初始化,而且其引用的对象在其整个生命原创 2014-04-25 12:47:25 · 372 阅读 · 0 评论 -
C/C++中创建线程 -2013-09-20 12:46
创建线程的方法:HANDLE hThread= CreateThread(NULL,0,SendThread,(LPVOID)i,0,&dwThread); if( hThread == NULL ) { printf("\tCreateThread Failed.\n"); exit(0);转载 2014-04-30 22:07:16 · 413 阅读 · 0 评论 -
怪异的Switch-2009-11-15 21:34
开始将搜狐博客里的文章搬到CSDN了,原创 2014-04-29 22:21:49 · 416 阅读 · 0 评论 -
c++ 一次完整读文件 及 实现string 的split方法
//注意:当字符串为空时,也会返回一个空字符串void split(std::string& s, std::string& delim,std::vector* ret){ size_t last = 0; size_t index=s.find_first_of(delim,last); while (index!=std::string::npos) { ret->push_原创 2014-07-18 14:02:59 · 1149 阅读 · 0 评论 -
标准C++中的string类的用法总结 -2014-03-20 09:27
字符串是每中程序语言的数据类型中非常重要,而且比较复杂的一种数据类型,在C中用char*(MFC中用CString),Java中用String类,C++中用string类。标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用。要想使用标准C++中string类,必须要包含#include // 注意是,不是,带.h的是C语言中的头文件using s转载 2014-05-22 22:26:10 · 400 阅读 · 0 评论 -
C++STL中的vector用法 -2014-03-20 09:56
C++内置的数组支持容器的机制,但是它不支持容器抽象的语义。要解决此问题我们自己实现这样的类。在标准C++中,用容器向量(vector)实现。容器向量也是一个类模板。标准库vector类型使用需要的头文件:#include 。vector 是一个类模板。不是一种数据类型,vector是一种数据类型。vector的存储空间是连续的,list不是连续存储的。vector1 基本转载 2014-05-22 22:30:32 · 453 阅读 · 0 评论 -
关于vector的内存释放
以前用vector,想释放时就用clear()函数清空,以为这样vector变量的neic原创 2014-07-24 22:33:34 · 1337 阅读 · 0 评论 -
又做错的C++题 --2014-03-25 18:17
同学下午给我发了个C++指针题,本以为对指针比较了解了,不会错了,哎思路:首先,str是一个数组,数组元素的类型是char*,p是一个指向指针的指针(实际就是,p保存的是str[1]的地址)。于是有:str[0]=(*p++)+2; 首先应该是*p+2,然后(*p)++, 额~ 这么做,你就错了,原因是++的优先级比* 的高,额额,这就错了,坑!好吧,等效于s原创 2014-05-31 21:02:26 · 495 阅读 · 0 评论 -
微软2014实习生在线测试题:K-th String
原题是有N个0和M个1组成序列(2 = 0),按字典序排列,求出第K个串,若K超出则输出Impossible;其实就是全排列,并从小到大的顺序排列,求第K个。首先判断K是否超出,计算N个0和M个1组成全排列有total=种,若K>a则超出。total个全排列中,前a=种是第一位为0,即第一位为0,其余M+N-1位是N-1个0和M个1组成全排列,所以判断a和K的关系就可以断定第一原创 2014-06-15 22:29:17 · 492 阅读 · 0 评论 -
C/C++中指针和引用
一、基本知识指针和引用的声明方式:声明指针: char* pc;声明引用: char c = 'A' char& rc = c;它们的区别:①从现象上看,指针在运行时可以改变其所指向的值,而引用一旦和某个对象绑定后就不再改变。这句话可以理解为:指针可以被重新赋值以指向另一个不同的对象。但是引用则总是指向在初始化时被指定的对象,以后不能改变,转载 2014-05-18 23:14:04 · 707 阅读 · 0 评论 -
12个有趣的c语言面试题
1.gets()函数问:请找出下面代码里的问题:#include int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets(buff); printf("\n The buffer entered is [%s]\n",buff); return 0; } 答:上面代转载 2014-04-27 20:49:06 · 395 阅读 · 0 评论 -
C++:STL标准入门汇总 -2014-03-27 08:48
有几篇帖子提到过STL的vector和部分algorithm方法,昨天做leetcode时用到了stack,发现除了vector,其他的STL用法有点模糊了。特意找一篇STL汇总。一、STL简介STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Mu转载 2014-06-03 22:46:12 · 548 阅读 · 0 评论 -
c++ STL中map用法 --2014-04-03 21:24
map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序转载 2014-06-04 23:12:51 · 408 阅读 · 0 评论 -
STL中的优先队列总结
“优先队列(priority_queue)元素的次序是由作用于所存储的值对上的某种谓词决定的的有序队列”原创 2014-06-05 14:25:23 · 4955 阅读 · 0 评论 -
char a[2]="ab"与 char a[]="ab"的区别
char a[2]="ab"在vc上编译会提示数组越界,在gcc上编译通过,且只占2字节;char a[]="ab",那么a占3字节,系统自动在b后面加'\0', '\0'对应的ASCLL码是0,表示空字符。原创 2014-06-08 23:01:06 · 1803 阅读 · 0 评论 -
详解 coredump
一,什么是coredump 我们经常听到大家说到程序core掉了,需要定位解决,这里说的大部分是指对应程序由于各种异常或者bug导致在运行过程中异常退出或者中止,并且在满足一定条件下(这里为什么说需要满足一定的条件呢?下面会分析)会产生一个叫做core的文件。 通常情况下,core文件会包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息还有各种函转载 2014-07-20 11:38:57 · 326 阅读 · 0 评论 -
C++获得文件大小
在Java中yo很容易获得文件的大小,C++ 中原创 2014-07-23 22:05:24 · 1979 阅读 · 0 评论 -
cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
今天()参加微软实习的在线测试,第一题是“String order”,我用c++编的,提交得90分,说明大部分测试用例通过,但有没通过的,想不通在哪错了。后来看别人的java版的代码,发现需要考虑输入为空(一行为空,或一行只有空格、TAB、回车),而我用cin接收输入,结果自动过滤了这种情况。加上上次做编程之美测试的时候也有这个问题,现在好好做个总结,转载一篇别人文章:接收字符输入有以下方转载 2014-06-08 23:07:13 · 576 阅读 · 0 评论 -
学习资源汇总
一、开发环境原创 2014-08-17 12:03:20 · 806 阅读 · 0 评论