博客登录
用户名:
密 码:
注册
|
登录
忘记密码?
51cto首页
|
博客
|
论坛
|
招聘
热点文章
漂亮MM的网恋史
帮助
转载
:59
翻译
:0
原创
:3
程序之艺术
http://programmingart.blog.51cto.com
>
复制链接
邀请加入技术圈
加友情链接
发短消息
相册
技术圈
博客
博客:
我的博客
|
发表文章
|
管理博客
|
退出
相册:
我的相册
|
上传图片
|
最近更新相册
技术圈:
创建技术圈
|
我加入的圈
|
搜索圈
51cto首页
博客首页
技术论坛
招聘频道
首页
|
GIS
|
RS
|
ArcObject
|
ArcEngine
|
数据库
|
C#
|
C
|
C++
|
VB
|
VB.net
|
JAVA
|
API MFC OCCI
|
TCP/IP
|
Web
|
Linux
|
Unix
|
数据结构与算法
|
网络技术
|
无线网络
|
光纤与无线通讯
|
游戏开发
|
计算机术语
|
随想随感
自定义区块
程序员应该成为一位艺术家,而不是想着成为资本家。编程是一种艺术创作,而不应该是一份艰辛的工作。只有这样,创作才是自由和快乐的;作品才能有艺术的价值。
goodgoodstudy 的BLOG
博客统计信息
用户名:goodgoodstudy
文章数:62
评论数:9
访问量:17599
无忧币:
369
博客积分:
368
博客等级:
3
注册日期:2007-08-16
51CTO推荐博客
struggle1=1
lhtwy
IT昆仑
davidchen
beniao
david_yeung
daizhenjun
maddish
北京看看
mk6yeung
刘古权
davjw
最新评论
麦迪
:
不错的小知识哦
goodgoodstudy
:
我装完了结果播放不了,汗!!!
花生人
:
介绍呢?哪呢?
[匿名]IH:
LINUX 里的问题 貌似很难解决啊
goldeneyes
:
小生是个新手,想学习windows下的程..
文章
文章列表>>
有关c string类
2007-10-21 00:01:55
之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必 担心内存是否足够、字符串长度等等,而且作为一个类出现,他集成的操作函数足以完成我们大多数情况下(甚至是100%)的需要。我们可以用 = 进行赋值操作,== 进行比较,+ 做串联(是不是很简单?)。我们尽可以把它看成是C++的基本数据类型。
好了,进入正题………
首先,为了在我们的程序中使用string类型,我们必须包含头文件 <string>。如下:
#include <string> //注意这里不是string.h string.h是C字符串头文件
1.声明一个C++字符串
声明一个字符串变量很简单:
string Str;
这样我们就声明了一个字符串变量,但既然是一个类,就有构造函数和析构函数。上面的声明没有传入参数,所以就直接使用了string的默认的构造函数,这个函数所作的就是把Str初始化为一个空字符串。String类的构造函数和析构函数如下:
a) string s; //生成一个空字符串s
b) string ..
类别:VB
|
阅读全文(182)
|
回复(0)
C/C++ 误区 —— 强制转换 malloc() 的返回值
2007-09-21 11:29:49
首先要说的是,使用 malloc 函数,请包含 stdlib.h(C++ 中可以是 cstdlib) ,而不是 malloc.h 。因为 malloc.h 从来没有在 C 或者 C++ 标准中出现过!因此并非所有编译器都有 malloc.h 这个头文件。但是所有的 C 编译器都应该有 stdlib.h 这个头文件。
在 C++ 中,强制转换 malloc() 的返回值是必须的,否则不能通过编译。但是在 C 中,这种强制转换却是多余的,并且不利于代码维护。
起初,C 没有 void 指针,那时 char* 被用来作为泛型指针(generic pointer),所以那时 malloc 的返回值是 char* 。因此,那时必须强制转换 malloc 的返回值。后来,ISO C 标准定义了 void 指针作为新的泛型指针。void 指针可以不经转换,直接赋值给任何类型的指针(函数指针除外)。从此,malloc 的返回值变成了 void* ,再也不需要强制转换..
类别:VB
|
阅读全文(370)
|
回复(1)
浅谈c中的malloc和free
2007-09-21 11:27:15
在C语言的学习中,对内存管理这部分的知识掌握尤其重要!之前对C中的malloc()和free()两个函数的了解甚少,只知道大概该怎么用——就是malloc然后free就一切OK了。当然现在对这两个函数的体会也不见得多,不过对于本文章第三部分的内容倒是有了转折性的认识,所以写下这篇文章作为一个对知识的总结。这篇文章之所以命名中有个“浅谈”的字眼,也就是这个意思了!希望对大家有一点帮助!
如果不扯得太远的话(比如说操作系统中虚拟内存和物理内存如何运做如何管理之类的知识等),我感觉这篇文章应该是比较全面地谈了一下malloc()和free().这篇文章由浅入深(不见得有多深)分三个部分介绍主要内容。
废话了那么多,下面立刻进入主题
一、malloc()和free()的基本概念以及基本用法:
1、函数原型及说明:
void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。
关于分配失败的原因,应该有多种,比如说空间不足就是一种。
void free(void *FirstByte): 该函数是将之前用malloc分配的空间还给程序或者是操作系统,也就是释放了这块内存,让它重新得到自由。
2、..
类别:VB
|
阅读全文(168)
|
回复(0)
malloc 和 free - C
2007-09-21 11:12:10
内存管理
在C里,内存管理是通过专门的函数来实现。另外,为了兼容各种编程语言,操作系统提供的接口通常是 C 语言写成的函数声明 (Windows 本身也由C和汇编语言写成)。
1 分配内存 malloc 函数
需要包含头文件:
#include "stdlib.h"
函数声明(函数原型):
void *malloc(int size);
说明:malloc 向系统申请分配指定size个字节的内存空间。返回类型是 void* 类型。void* 表示未确定类型的指针。C,C++规定,void* 类型可以强制转换为任何其它类型的指针。
从函数声明上可以看出。malloc 和 new 至少有两个不同: new 返回指定类型的指针,并且可以自动计算所需要大小。比如:
int *p;
p = new int; //返回类型为int* 类型(整数型指针),分配大小为 sizeof(int);
或:
int* parr;
parr = new int [100]; //返回类型为 int* 类型(整数型指针..
类别:VB
|
阅读全文(615)
|
回复(0)
51CTO推荐博文
更多..
CentOS+Apache+Mysql+Php安..
freebsd 安装rzsz出错处理
IDS(入侵检测)要“退休”了..
参赛方案-主机托管、中小..
以图形化的方式显示JBPM当..
读书笔记---编译程序中..
Alex学Ruby[告诉你符号和范..
ORACLE TO_CHAR的一个问题
求职时 怎么对付面试官?
管理软件与电子商务的发展趋势
独家调查:七成技术人认为..
让人哭笑不得的技术人员
职场心态——心静[我写绿色IT]
职场心态--心态决定一切[我..
Google Code Jam 2008 赛后..
职场常青树——健康生活 我..
公告
热门文章
Linux下硬盘分区的最佳方案
C#的Delegate的小心得
虚拟机安装linux
RedHat Linux9.0安装和配置
vc++6.0中AppWizard生成..
对程序员职业规划的一些看法
redhat安装篇---硬盘分区
从程序员到软件设计师的过程
搜索BLOG文章
背景音乐
我的音乐
00:00 | 00:00
友情链接
钃濆博VS鎬濈厹鐨..
绋嬪簭涔嬭壓鏈