您好,欢迎光临本网站![请登录][注册会员]  

开发技术下载,其它下载列表 第94664页

« 1 2 ... .59 .60 .61 .62 .63 94664.65 .66 .67 .68 .69 ... 232075 »

[其它] STL 的string类怎么啦

说明:STL 的string类怎么啦?陈皓前言上个周末在和我的同学爬香山闲聊时,同学说到STL中的string类曾经让他备受折磨,几年前他开发一个系统前对string类还比较清楚,然后随着程序的复杂度的加深,到了后期,他几乎对string类失去了信心和信任,他觉得他对string类一头雾水。老实说,我几年前也有同样的痛苦(就是当我写下《标准C++类string的Copy-On-Write技术》之前的一段时间)。那时,我不得不研究那根本不是给人看的SGI出品的string类的源码,代码的可读性几乎为零,
<weixin_38685521> 在 上传 | 大小:114688

[其它] C++输出斐波那契数列的两种实现方法

说明:定义: 斐波那契数列指的是这样一个数列:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, …这个数列从第三项开始,每一项都等于前两项之和。 以输出斐波那契数列的前20项为例: 方法一:比较标准的做法,是借助第三个变量实现的。 代码如下:#include  using namespace std;int main(){    int f1=0,f2=1,t,n=1;    cout<<“数列第1个:”<<f1<<endl
<weixin_38749268> 在 上传 | 大小:30720

[其它] C++中的对象数组详细解析

说明:类是对象的抽象,我们可以使用一个类来定义很多的对象,然后每个对象都有自己的属性。 当我们使用类来定义很多相同结构的对象的时候,我们可以采取对象数组的方法。 例如,一个班有50个学生,我们定义了一个学生类,该类的学生具有相同的数据成员和成员函数,我们就可以定义一个这样的数组。 代码如下:Student stdu[50];//假设已经声明了Student类,定义stud数组,有50个元素======================对象数组的初始化=========================
<weixin_38672815> 在 上传 | 大小:50176

[其它] C++中栈结构建立与操作详细解析

说明:什么是栈结构 栈结构是从数据的运算来分类的,也就是说栈结构具有特殊的运算规则,即:后进先出。 我们可以把栈理解成一个大仓库,放在仓库门口(栈顶)的货物会优先被取出,然后再取出里面的货物。 而从数据的逻辑结构来看,栈结构起始就是一种线性结构。 如果从数据的存储结构来进一步划分,栈结构包括两类:顺序栈结构: 即使用一组地址连续的内存单元依次保存栈中的数据。在程序中,可以定义一个指定大小的结构数组来作为栈,序号为0的元素就是栈低,再定义一个变量top保存栈顶的序号即可。链式栈结构: 即使用链表的的形式
<weixin_38612139> 在 上传 | 大小:104448

[其它] 构造函数不能声明为虚函数的原因及分析

说明:1. 从存储空间角度,虚函数对应一个指向vtable虚函数表的指针,这大家都知道,可是这个指向vtable的指针其实是存储在对象的内存空间的。问题出来了,如果构造函数是虚的,就需要通过 vtable来调用,可是对象还没有实例化,也就是内存空间还没有,怎么找vtable呢?所以构造函数不能是虚函数。 2. 从使用角度,虚函数主要用于在信息不全的情况下,能使重载的函数得到对应的调用。构造函数本身就是要初始化实例,那使用虚函数也没有实际意义呀。所以构造函数没有必要是虚函数。虚函数的作用在于通过父类的指
<weixin_38593380> 在 上传 | 大小:48128

[其它] linux之awk命令的用法

说明:先来一个例子:文件a,统计文件a的第一列中是浮点数的行的浮点数的平均值。用awk来实现只需要一句话就可以搞定$cat a1.021 331#.ll   442.53 6ss    7 awk ‘BEGIN{total = 0;len = 0} {if($1~/^[0-9]+\.[0-9]*/){total += $1; len++}} END{print total/len}’ a(分析:$1~/^[0-9]+\.[0-9]*/表示$1与“/ /”里面的正则表达式进行匹配,若匹配,则total加
<weixin_38515897> 在 上传 | 大小:73728

[其它] sigsetjmp的用法总结

说明:相关函数:longjmp, siglongjmp, setjmp 表头文件:#include 函数定义:int sigsetjmp(sigjmp_buf env, int savesigs) 函数说明:sigsetjmp()会保存目前堆栈环境,然后将目前的地址作一个记号, 而在程序其他地方调用siglongjmp()时便会直接跳到这个记号位置,然后还原堆栈,继续程序的执行。 参数env为用来保存目前堆栈环境,一般声明为全局变量 参数savesigs若为非0则代表搁置的信号集合也会一块
<weixin_38639747> 在 上传 | 大小:33792

[其它] c++中string类成员函数c_str()的用法

说明:1.string类成员函数c_str()的原型: const char *c_str()const;//返回一个以null终止的c字符串 2.c_str()函数返回一个指向正规c字符串的指针,内容和string类的本身对象是一样的,通过string类的c_str()函数能够把string对象转换成c中的字符串的样式; 3.操作c_str()函数的返回值时,只能使用c字符串的操作函数,如:strcpy()等函数.因为,string对象可能在使用后被析构函数释放掉,那么你所指向的内容就具有不确定性.
<weixin_38736011> 在 上传 | 大小:33792

[其它] 基于C语言中野指针的深入解析

说明:“野指针”的成因主要有两种:(1)指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL指针,它的缺省值是随机的,它会乱指一气。所以,指针变量在创建的同时应当被初始化,要么将指针设置为NULL,要么让它指向合法的内存。例如 代码如下:char *p = NULL;     char *str = (char *) malloc(100);(2)指针p被free或者delete之后,没有置为NULL,让人误以为p是个合法的指针。参见7.5节。别看free和delete的名字恶狠狠的(尤其
<weixin_38704857> 在 上传 | 大小:53248

[其它] linux c模拟ls命令详解

说明:代码如下:/* 模拟ls命令,实现参数-tariRl.有些代码重复出现,可改进 可以在该程序的基础上增加参数,该程序思路清晰,容易扩展 */#include#include#include#include#include#include#include#include#include#include#define LL (1<<0)  /*带l参数标志*/#define IL (1<<1)  /
<weixin_38655496> 在 上传 | 大小:64512

[其它] 解决不用sizeof求出int大小的方法

说明:代码如下所示: 代码如下:#include   int main(int argc, char *argv[])  {      int a[2];      unsigned int add1 = &a[0];      unsigned int add2 = &a[1];      printf(“The address of a[0] is %u/n”,add1);      printf(“The address of a[1] is %u/n”,add2);      printf(“
<weixin_38680340> 在 上传 | 大小:25600

[其它] C++ 模版双向链表的实现详解

说明:代码如下所示: 代码如下:#include template class double_linked{    struct node    {        T data;        node* prev;        node* next;        node(T t, node* p, node* n) : data(t), prev(p), next(n) {}    };    node* head;    node* tail;public:    double_linked
<weixin_38696336> 在 上传 | 大小:30720
« 1 2 ... .59 .60 .61 .62 .63 94664.65 .66 .67 .68 .69 ... 232075 »