C++
文章平均质量分 55
xueruifan
这个作者很懒,什么都没留下…
展开
-
动态数组的使用之char *res=new char(strlen(src)+1)
动态数组的使用: 通常因为在编译时无法知道数组的维数,所以才需要动态创建该数组。例如,在程序执行过程中,常常使用char *指针指向多个C风格字符串,于是必须根据每个字符串的长度实时地动态分配存储空间。采用这种技术要比建立固定大小的数组安全。如果程序员能够准确计算出运行时需要的数组长度,就不必再担心数组变量具有固定的长度而造成的溢出问题。 关于动态数组的使转载 2015-04-11 19:35:01 · 5660 阅读 · 0 评论 -
exit(0)与exit(1)
exit()是用来正常结束进程的.exit(0)是正常退出,return是返回某个值. exit(0)程序结束时返回0给系统exit(1)程序结束时返回1给系统exit(n)程序结束时返回n给系统这样系统就知道程序是怎么结束的~是出错结束的呢 还是正常结束的呢,一看返回值就知道了. exit()函数无论你括号里用数字几效果都是相同的但是你可以用不同的数字来区转载 2015-06-25 12:36:28 · 2612 阅读 · 0 评论 -
定义结构体时的初始化默认值
定义结构体或者链表时的初始化的默认值原创 2015-06-10 16:36:29 · 44889 阅读 · 2 评论 -
socket 中listen函数参数的解释
在写socket程序时,作为服务端t通常要使用listen来说明允许并发连接的个数,百度上对listen函数的说明为: #include int PASCAL FAR listen( SOCKET s, int backlog); S:用于标识一个已捆绑未连接套接口的描述字。 backlog:等待连接队列的最大长度。(详细解释,请看百度百科:http转载 2015-07-14 10:23:25 · 4655 阅读 · 0 评论 -
vs2010 问题 >LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
>LINK : fatal error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏问题说明:当安装VS2012之后,原来的.NET 4.0会被替换为.NET 4.5。卸载VS2012时,不会恢复.NET 4.0。l 当VS2012安装后,VS2010的cvtres.exe就无法使用了。如果你的PATH环境变量中VS2010的工具路径第一个出现转载 2015-07-27 11:48:59 · 371 阅读 · 0 评论 -
C++ 在.h文件中包含头文件和在.cpp文件中包含头文件有什么区别?
现有两个文件Test.h 和Test.cpp #include 在Test.h中包含 和在Test.cpp中包含有什么区别?1、在cpp文件中包含.h文件,要么你要用到这个头文件中的函数或者类,要么就是实现这个头文件;2、.h ---就是为了放一堆声明所产生的东西。如果是定义放在.h中。 如果.h被重复包含多次,那么则会被报重定义。所以在.h 中都要---如果函数就要是inl翻译 2016-01-23 14:26:40 · 24516 阅读 · 4 评论 -
判断任意两台计算机的IP地址是否属于同一子网络的两种地址转换方法
功能: 判断两台计算机IP地址是同一子网络。原型: int IsSameSubNetwork(char * pcIp1, char * pcIp2, char * pcSubNetworkMask);输入参数: char * pcIP1: 计算机1的IP地址,格式:“192.168.0.254”; char * pcIP2: 计算机2的IP地址,格式:“1原创 2016-01-24 10:15:01 · 1717 阅读 · 0 评论 -
两种分解整数为字符串的方法 阿姆斯特朗数
以“阿姆斯特朗数”求解为例:阿姆斯特朗数:如果一个正整数等于其各个数字的立方和, 则该数称为阿姆斯特朗数(亦称为自恋性数),1除外, 如407 = 4^3+0^3+7^3就是一个阿姆斯特朗数。/*功能: 求n(n ≤ 65536)以内的所有阿姆斯特朗数原型: int CalcArmstrongNumber(int n);输入参数原创 2016-01-24 11:53:15 · 574 阅读 · 0 评论 -
数列求和 阶乘 双精度问题
输出1/1! + 1/2! + 1/3! + … + 1/n!/*void GetResult(int InputNum, double *NumResult);输入参数: Int InputNum:输入一个正整数,进行表达式计算 char *NumResult:输出表达式的值 返回值: void*/void GetResult(int InputNum, do原创 2016-01-24 17:03:58 · 1205 阅读 · 0 评论 -
取给定正整数的指定bit位开始的指定长度的数据 将整数拆分成bit位表示的形式
下面以“取给定正整数的指定bit位开始的指定长度的数据”为例说明如何将整数拆分成bit位表示的形式。取给定正整数的指定bit位开始的指定长度的数据。bit位从右向左从0开始计算。函数原型: unsigned int GetBitsValue(unsigned int input, unsigned int startbit, unsigned int bitlen)原创 2016-01-24 21:26:38 · 1922 阅读 · 0 评论 -
实例分析C++中重载、重写(覆盖)和隐藏的区别
实例分析C++中重载、重写(覆盖)和隐藏的区别原创 2015-06-20 15:27:19 · 684 阅读 · 0 评论 -
VS2010快捷键大全
有人发了VS2010的快捷键,不够全,那才哪到哪呀,我来发个完整的 吧,后附VS2008的快捷键Ctrl+E,D ----格式化全部代码Ctrl+E,F ----格式化选中的代码CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译CTRL + O 打开文件CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口转载 2015-06-19 15:14:59 · 314 阅读 · 0 评论 -
谈 C++ 中的 new/delete 和 new[]/delete[]
在 C++ 中,你也许经常使用 new 和 delete 来动态申请和释放内存,但你可曾想过以下问题呢?new 和 delete 是函数吗?new [] 和 delete [] 又是什么?什么时候用它们?你知道 operator new 和 operator delete 吗?为什么 new [] 出来的数组有时可以用 delete 释放有时又不行?…如果你对这些问题都有疑问的话,不妨转载 2015-06-17 16:04:25 · 799 阅读 · 0 评论 -
C++中cout如何输出数值的二进制格式?
二进制的赋值是不行的…… C/C++里面只能支持八、十、十六进制三种数字型常量。 如果真的需要的话,那么只能靠std::bitset来完成,通过调用参数为std::string的构造函数就可以把二进制变成bitset,然后用bitset::to_ulong就可以了……有些程序要处理二进制位的有序集,每个位可能包含的是0(关)或1(转载 2015-04-13 16:37:26 · 6354 阅读 · 0 评论 -
C++中stdafx.h的作用体会
stdafx.h的作用体会当使用visual C++时,总是包含了头文件stdafx.h,却不知道是干什么用的.哈哈,今天查找了相关资料,解释如下:当我们使用AppWizard来自动生成某些项目的时候,系统会自动把所需要include的头文件在stdafx.h中先include一下,这样,我们只需要直接include这个stdafx.h文件即可.因为同一个项目中的不同源文件CP转载 2015-04-24 11:01:38 · 8989 阅读 · 0 评论 -
C、C++ 中\t \n用法
\t tab\n next line\r return\t:水平制表(跳到下一个Tab位置)\r:回车,将当前位置移到本行开头\n:换行\r:回车,相当于光标回到本行首位置,不会换行;另外有一个\n,换行,表示光标换到下一行;因此在windows下通常使用\r\n,表示回车换行,即光标到第二行的首位置,相当于按了键盘上的Enter键(有些是标为return键)原创 2015-04-27 11:04:31 · 62403 阅读 · 1 评论 -
C++虚函数和虚继承浅析
本文针对C++里的虚函数,虚继承表现和原理进行一些简单分析,有不对的地方请指出。下面都是以VC2008编译器对这两种机制内部实现为例。虚函数 一下是百度百科对于虚函数的解释:定义:在某基类中声明为 virtual 并在一个或多个派生类中被重新定 义的成员函数[1]语法:virtual 函数返回类型 函数名(参数表) { 函数体 }用途:实现多态性,通过指向派生类转载 2015-05-10 00:53:38 · 346 阅读 · 0 评论 -
C++头文件 尖括号、引号 有.h 无.h区别
C++头文件 尖括号、引号 有.h 无.h区别原创 2015-05-11 01:14:12 · 1650 阅读 · 0 评论 -
剑指offer 面试题13中 Test4 不应再销毁pNode1
剑指offer 面试题13Test4中在Test(pNode1,pNode1);中已经将头结点销毁了,所以实际上就没有pNode1这个结点了添加DestroyList(NULL);是可以的,但是添加DestroyList(pNode1);后虽然编译通过,运行也可以出结果,但是会弹出这样的提示窗口原创 2015-04-28 01:37:10 · 487 阅读 · 0 评论 -
剑指offer 面试题16中 pPrev不应赋为pHead,pReversedHead可以
pPrev不应赋为pHead,因为赋为pHead后,下面的pNode->m_pNext = pPrev; pPrev = pNode; pNode = pNext;这样的话pNode为pHead,他的下一个结点pNode->m_pNext还是pHead就相当于在第一个节点处一直循环打转了,不会再向下遍历,构成死循环原创 2015-04-28 02:37:29 · 554 阅读 · 0 评论 -
printf("%p\n",&A::m_a) 中%p的意思
类A中定义公有成员变量a,在main中输出printf("%p\n",&A::a);输出的是从a 到A的首地址的偏移量。#include "stdafx.h"#include #include #include using namespace std;class A{public: A(){m_a=1;m_b=2;}; ~A(){}; void fun(){printf("%d原创 2015-05-28 15:30:57 · 3909 阅读 · 1 评论 -
C语言中没有string
" C语言中有string类型变量吗"这里的 string 有 二 义性。(1) 如果 string 是普通词汇,“C语言中有字符类型变量吗”, 答,有。 字符类型 用 char 声明。char str[]="This is a string";(2) 如果 string 是专用词汇,“C语言中有string类型变量吗”,答,没有。string 是 类,是 class, 不原创 2015-05-28 15:37:10 · 2143 阅读 · 0 评论 -
二维数组的列排序 考虑问题的全局性 声明数组必须要分配内存并清零
以“二维数组的列排序”为例练习“ 考虑问题的全局性"以及“ 声明数组必须要分配内存并清零”:题目要求:给出一个二维数组,请将这个二维数组按第i列(i从1开始)排序,如果第i列相同,则对相同的行按第i+1列的元素排序,如果第i+1列的元素也相同,则继续比较第i+2列,以此类推,直到最后一列。如果第i列到最后一列都相同,则按原序排列。 实现以下接口:输入一个m*n原创 2016-01-25 17:40:55 · 693 阅读 · 0 评论