vc & data structur
文章平均质量分 53
xulecn
.........................................
展开
-
有符号与无符号的类型转换以及数位扩展问题
有符号与无符号的类型转换以及数位扩展问题题目: int main() { unsigned int un; unsigned char uch; uch = (unsigned char) 128; un = uch; printf("un = %d/n", un); printf("un = %u/n", un);转载 2006-09-11 09:46:00 · 1137 阅读 · 0 评论 -
动态内存分配
在程序运行过程中,堆内存能够被动转载 2006-11-27 22:09:00 · 1111 阅读 · 0 评论 -
c++中->和.使用区别
概念基础:-〉是结构或类指针指向本身方法或属性的运算符,类的对象用“.”来访问本身的属性或方法;如class AClass{ int a;};AClass a;a.a;AClass *pA;pA->a;原创 2006-11-29 19:29:00 · 896 阅读 · 0 评论 -
fun()const作用
fun()const 多是用于类里面的函数,是保证在该函数中各个数据只是传值,并不发生值的变化。有保护内部数据的作用原创 2006-11-25 15:23:00 · 861 阅读 · 0 评论 -
C++ 中int 和string 的类型转换
//int to string add string to int #include#include//getch()#include#includeusing namespace std;void main(){ int b=121234,a; string str,st="7894456"; stringstream istr,stri; //int to string istr is原创 2006-11-25 16:36:00 · 882 阅读 · 0 评论 -
strlen()和str.length()使用区别
两者都是求字符串的长度,但strlen( )的参数必须是char* ;而 str.length( )是string类对象str调用的成员函数,所以它们用在不同的地方; char* ch="asdfsafas"; string str="adfadf"; cout// cout cout// coutstrlen()的定义基本如下:int strlen( const char *s原创 2006-11-28 21:43:00 · 16055 阅读 · 2 评论 -
c++ 基本数据类型长度(vc6.0 32位机;
c++ 基本数据类型长度(vc6.0 32位机;size of int is: 4size of char is: 1size of short int is: 2size of double is: 8size of unsigned int is: 4size of float is: 4size of long double is: 8size of lon原创 2006-11-30 22:36:00 · 3984 阅读 · 0 评论 -
CString,string,char*的综合比较
CString,string,char*的综合比较 Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=415902(一) 概述 string和CString均是字符串模板类,string为标准模板类(STL)定义的字符串类,已经纳入C++标准之中; CString(typedef CStringT> CString转载 2006-11-30 23:39:00 · 725 阅读 · 0 评论 -
cin反冲区问题
#includeusing namespace std;int main(int argc,char* args){ int i; cin>>i; cout //fflush(stdin); cout char str[10];// cout gets(str); cout getchar();} 运行这段程序时,cout>>i;正常,也打印出enter string,但原创 2006-12-01 13:21:00 · 912 阅读 · 0 评论 -
C++内存管理详解(收藏)
伟大的Bill Gates 曾经失言: 640K ought to be enough for everybody — Bill Gates 1981 程序员们经常编写内存管理程序,往往提心吊胆。如果不想触雷,唯一的解决办法就是发现所有潜伏的地雷并且排除它们,躲是躲不了的。本文的内容比一般教科书的要深入得多,读者需细心阅读,做到真正地通晓内存管理。 1、内存分配方式 内存分配方式有三种:转载 2006-12-02 21:06:00 · 738 阅读 · 0 评论 -
虚析构函数的使用条件
如果一个类不会用作基类,就不需要使用任何虚函数,因为使用虚函数会增加程序的开销。 但是,如果要作为基类,为维护完整性,就需要使用虚函数,让子类定义自己的具体行为。 所以基本的一条是,无故的声明虚析构函数和永远不去声明一样是错误的。 实际上,很多人这样总结:当且仅当类里包含至少一个虚函数的时候才去声明 虚析构函数。 至于虚析构函数,C++语言标准关原创 2006-12-02 20:38:00 · 1004 阅读 · 0 评论 -
C++中 const,extern,static,volatile的使用
转载 2006-12-02 21:50:00 · 1018 阅读 · 0 评论 -
使用指针P,Q使链表反转
H是一个单链表的头指针,使用指针P,Q使链表反转,写出程序 1 按照题目要求。(只能使用两个指针)2 代码正确的同时考虑特殊情况。比如H为NULL3 代码尽量简洁。批改面试题目的人不会有耐心看完冗长的代码的。越短的代码越有吸引力。4 当然必要的注视也是必须的。Q = NULL; // Q用来保存H的上一个节点。while (H != NULL) { P = H.next; // P转载 2006-12-03 19:39:00 · 1071 阅读 · 0 评论 -
extern,static存储空间矛盾
extern,static存储空间矛盾其实,这两个语句的位置不同,会出现不同的解释。这主要是由于 static 具有的两重意义所导致的:(1) 如果 static int foo; 这一句位于函数中,则 static 表示的是存储属性,表明 foo 是一个静态变量。(2) 如果 static int foo; 这一句位于函数外面,则 foo 是一个全局变量,static 不再是表示存储性质,而是作原创 2006-12-02 21:47:00 · 1558 阅读 · 0 评论 -
assert的使用
#includeiostream>#includeassert.h>using namespace std;int main()...{ assert(4>3);//断言、程序每次运行时都检查参数的是不是真,真则继续、否则报错 char* str="this is a string"; assert(str!=NULL); getchar(); return 0;原创 2006-11-27 20:09:00 · 587 阅读 · 0 评论 -
iostream.h学习
#includeiostream>using namespace std;int main()...{ int c; c=(char)a; char* str=isalnum(c)? "yes":"no"; coutstrendl; c=7; str=isalnum(c)? "yes":"no"; coutstrendl; c=@;原创 2006-11-27 18:55:00 · 594 阅读 · 0 评论 -
C++string类常用函数
string类的构造函数:string(const char *s); //用c字符串s初始化string(int n,char c); //用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="he转载 2006-11-25 15:53:00 · 554 阅读 · 0 评论 -
面试系列7--用两个栈实现一个队列的功能
function StorePage(){d=document;t=d.selection?(d.selection.type!=None?d.selection.createRange().text:):(d.getSelection?d.getSelection():);void(keyit=window.open(http://www.365key.com/storeit.as转载 2006-09-11 09:48:00 · 689 阅读 · 0 评论 -
在命令行下编译创建VC程序
在命令行下编译创建VC程序大多数MS Visual C++创建的程序用VC编译器是很容易编译并创建出可执行文件的。但有时,你可能需要从命令提示行运行程序.下面将阐述如何用命令行编译创建VC程序。VC默认安装成功后,并不具备能从命令行编译创建VC程序这一特征。我们必须做如下3步工作:1 打开DOS命令提示符窗口。2 在C盘根目录下输入:CD Program Files/Microsoft Visua转载 2006-09-13 11:24:00 · 1356 阅读 · 0 评论 -
vc 的命令行调试和编译
CL.exe 是控制 Microsoft C 和 C++ 编译器与链接器的 32 位工具。编译器产生通用对象文件格式 (COFF) 对象 (.obj) 文件。链接器产生可执行文件 (.exe) 或动态链接库文件 (DLL)。注意,所有编译器选项都区分大小写。若要编译但不链接,请使用 /c。使用 NMAKE 生成输出文件。使用 BSCMAKE 支持类浏览。以下是一个完整的编译原创 2006-09-13 11:17:00 · 3389 阅读 · 0 评论 -
VC++ 多文件结构学习
VC++ 多文件结构学习 多文件结构的好处是:1. 避免多次无谓的编译,因为编译器总是以文件为单位工作;2. 使程序更加容易管理。可以将程序按逻辑划分,分解成各个源文件,便于成员任务安排,以及调试3. 把相关函数放在一个特定源文件中。头文件作用一个程序通常有多个文件组成,这就必须计划在每个源文件中哪些信息可以被其他文件见到原创 2006-09-16 22:08:00 · 3007 阅读 · 1 评论 -
C++异常学习笔记
VC中的异常捕获的规则 可以捕获的异常有以下三种情况:1. 必须严格遵守匹配数据类型2. 异常处理的数据类型是公有类,抛掷的异常的数据类型是派生类。3. 异常处理的数据类型是指向公有基类的指针,抛掷异常的数据类型是指向派生类的执针对于派生层次结构的异常处理,catch块组的顺序是重要的。因为catch基类总能捕获throw原创 2006-09-16 22:10:00 · 733 阅读 · 0 评论 -
VC++中使用Flash控件
Windows目录下的System32\Macromed\Flash\Flash8.ocx是否有这个文件,没有下载一个,Component->Import ActiveX Control 选中 Shockwave Flash 单击一下安装就可。如果没有Shockwave Flash项目 单击add 按钮找到Flash8.ocx后CB会自动注册。安装完成后 在ActiveX栏中将看到新添加得fla转载 2006-09-14 18:06:00 · 1023 阅读 · 0 评论 -
c++中的new/delete
c++中的new/deletenew/delete究竟做了些什么? 在理解这个问题之前,我们先看一下下面的这段程序,有这么一个程序段: class A { public: A() { cout ~A(){ cout private: int i; }; A* pA=new A; delete pA; 在这个简单的程转载 2006-09-19 10:43:00 · 760 阅读 · 0 评论 -
VC栈的应用--数制转换
//数制转换:十进制与其他进制进行转换//算法:N=(N div d)*d + N mod d (其中:div为整除运算,mod为求于运算)//数据结构用栈//#include#includeusing namespace std;int main(){ stackS;//栈是模板,要实例化了才能使用 unsigned int n,d; cout cin>>d;转载 2006-09-29 23:19:00 · 858 阅读 · 0 评论 -
C++ 中stdafx.h中文意思,并且在C++中起到的作用是什么?
Standard Application Fram Extend 没有函数库,只是定义了一些环境参数,使得编译出来的程序能在32位的操作系统环境下运行。 Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。由于每个.CPP文件都包含相同的include文件,为每个.CPP文件都重复处理这些文件就显得很傻了。 为避免这种浪费,AppW转载 2006-11-04 20:58:00 · 682 阅读 · 0 评论 -
关于C++中函数指针的使用(包含对typedef用法的讨论)
关于C++中函数指针的使用(包含对typedef用法的讨论) (一)简单的函数指针的应用。//形式1:返回类型(*函数名)(参数表) char (*pFun)(int); char glFun(int a){ return;} void main() { pFun = glFun; (*pFun)(2); } 第一行定义了一个指针变量pFun。首先我们根据前面提到的转载 2006-11-10 20:24:00 · 724 阅读 · 0 评论 -
详解Visual C++ 2005中的突破性变化
Microsoft Visual C++ 2005是微软公司Visual Studio 2005开发套件中的一出重头戏,与前一个版本相比,其革新性的集成开发环境与C++编译器,带来了有许多改变。在本文中,主要讲解程序员在升级程序时,可能会遇到的一些不同之处及变化,而这些变化很可能会使老一点的程序不能通过编译。总之,这些变化绝不是偶然发生的,其背后都有强大的理论依据在支撑,所以,使用Visual C转载 2006-11-10 20:26:00 · 437 阅读 · 0 评论 -
冒泡排序和折半查找
/**//////从键盘输入10个整数到数组B中,然后对其排序,并显示中间结果/**////#includeiostream>#includeiomanip> //setw() using itusing namespace std;void main()...{ const int n=10; int b[n],i,j; cout"input 10 integers:"en原创 2006-11-10 11:37:00 · 826 阅读 · 0 评论 -
Stl 学习
Stl 学习 提供了类型安全、高效而易用特性的STL无疑是最值得C++程序员骄傲的部分。每一个C++程序员都应该好好学习STL:). STL(Standard Template Library 标准模板库)是C++标准库的一个重要组成部分,它由Stepa转载 2006-11-23 22:16:00 · 547 阅读 · 0 评论 -
Visual C++ 5.0中的多线程编程技术
Visual C++ 5.0中的多线程编程技术一、引言 Windows系统平台经历了从16位到32位的转变后,系统运行方式和任务管理方式有了很大的变化,在Windows 95和Windows NT中,每个Win32程序在独立的进程空间上运行,32位地址空间使我们从16位段式结构的64K段限制中摆脱出来,逻辑上达到了4G的线性地址空间。这样,我们在设计程序时就不再需要考虑编译的段模式,同时还转载 2006-12-20 13:38:00 · 948 阅读 · 0 评论