new和delete的使用 [问题点数:20分]

Bbs1
本版专家分:0
结帖率 0%
thp
Bbs6
本版专家分:6607
Bbs2
本版专家分:373
请教new delete使用
char *reverse(char *str)rnrn int len=strlen(str);rn char *ptr=<em>new</em> char[len+1];rn //......rn return ptr;rnrn我这里在调用函数中通过<em>new</em>开辟了新的内存,并返回这段内存的起始地址。问题是我应该在哪里释放 如何释放这段内存?rn我不太清楚该如何释放调用函数中局部开辟的内存空间。rnint main(void)rnrn char *name="abcdefgh";rn char *ptr=reverse(name);rn //....rn <em>delete</em> []ptr;rn ptr=NULL;rn rn return 0;rnrn这样对不对?请指教!
newdelete使用规则
1、不要<em>使用</em><em>delete</em>来释放不是<em>new</em>分配的内存;2、不要<em>使用</em><em>delete</em>释放同一块内存两次3、如果<em>使用</em><em>new</em>[]为数组分配内存,则应<em>使用</em><em>delete</em>来释放;4、如果<em>使用</em><em>new</em>为一个实体分配内存,则应<em>使用</em><em>delete</em>来释放;5、对空指针应用<em>delete</em>是安全的。...
使用newdelete
变量是编译时分配内存的有名称的内存。 而指针只是为可以通过名称直接访问的内存提供了一个别名。指针的真正用武之地在于在运行阶段分配未命名的内存以存储值。在这种情况下,只能通过指针来访问内存。 首先<em>new</em>找到一块长度正确的内存块,并返回该内存的地址; 然后程序员的责任是将该内存地址赋值给一个指针。如: 方式一:int * pn=<em>new</em> int; 方式二: int higgens; int...
c++之newdelete使用
一、定义    首先先明确一点,<em>new</em>和<em>delete</em>是c++中用于申请和释放内存的,其次<em>new</em>和<em>delete</em>要成对<em>使用</em>    最后<em>new</em>和<em>delete</em>不能和malloc和free混用二、<em>使用</em>    先搞清楚<em>使用</em><em>new</em>时c++内部的机制   1、当初始化一个对象时    <em>new</em>---&amp;gt;operator <em>new</em>---&amp;gt;malloc---&amp;gt;构造函数    2、当初始化若干个对象时   ...
newdelete使用原理?
那位高手能够讲一讲<em>new</em> 和<em>delete</em> 的原理?rn窗体、变量(可能还有别的对象,我不太清楚)在<em>new</em> 出来后,rn在什么时候<em>delete</em> ,如果不<em>delete</em>,后果是什么?
使用new/delete的好处?
<em>使用</em><em>new</em>/<em>delete</em>动态分配内存有什么好处?rn从函数里面退出之后,函数内部的局部变量不是能够自动释放内存空间吗?
newdelete使用的问题
写了一段程序用<em>new</em> 和 <em>delete</em>分配释放内存,可是运行时发生内存泄漏。那位高手指点一下哈!谢谢rnrn//记录直线坐标rn LinePointX = <em>new</em> int[LinePnum];rn LinePointY = <em>new</em> int[LinePnum];rn //记录直线点值数组的起始点指针rn //记录直线点值数组的起始点指针rn //int* BakX = LinePointX;rn ///int* BakY = LinePointY;rn int pointcount = 0;rn for(j = 0; j
newdelete使用问题
新近接触C++,对内存分配与释放有地方不明白,有如下问题,望高手答疑解惑!rnrn1. 对<em>new</em>申请的空间如: double *p=<em>new</em> double[length]; 当<em>使用</em><em>delete</em>时候应该<em>使用</em> <em>delete</em>[] p; 释放申请的空间,但如果<em>使用</em>了<em>delete</em> p; 也会编译通过,这会造成什么影响?rnrn2. 在写程序过程中,有时会发现有这种状况出现,主程序调用子程序,子程序开动态数组,并需要将动态数组传回主程序,我的程序写成这样:rnrndouble *sub1(agv)rnrn ......;rn length=aaa;rn double *aaa=<em>new</em>(length); // 在主程序释放可以么?rn ......;rn return aaa;rnrn rnrnvoid main()rnrn ....;rn double*p=sub(m); rn ....;rn <em>delete</em>[] p; // 释放p可以完成对aaa的释放么?rnrnrn产生了如上两个问题,也就是在子函数中申请的空间可否在函数外释放,以及怎么释放。rn请高手答疑解惑,谢谢!!!
C++中new/deletenew[]/delete[]的使用区别
编写代码,举例说明<em>new</em>/<em>delete</em>与<em>new</em>[]/<em>delete</em>[]在创建对象时申请内存,以及释放空间时的区别
为什么new/deletenew[]/delete[]必须配对使用
为什么<em>new</em>/<em>delete</em>和<em>new</em>[]/<em>delete</em>[]必须配对<em>使用</em>?<em>new</em>和<em>delete</em>的内部机制这里不赘述了,戳这里《浅谈 C++ 中的 <em>new</em>/<em>delete</em> 和 <em>new</em>[]/<em>delete</em>[]》 glibc的mallc和free实现的内存分配释放简介,戳这里《malloc和free的内存到底有多大?——GNU glib库》 第一篇博客讲的很好,但是最后<em>new</em>、<em>delete</em>的为什么配对<em>使用</em>的解
newdelete
问题一:rn请问一下,<em>new</em> 与 <em>delete</em> 为相互匹配<em>使用</em>,这里有一段代码rnrn #include rn using namespace std;rn int main(int argc, char *argv[])rn rn int n(200);rn int* p=<em>new</em> int(100);rn double* q=<em>new</em> double(11.1);rn cout<
newdelete??
《高质量C++/C编程指南》中说:rn内存分配方式有三种,其中从堆上分配方式为:程序在运行的时候用malloc或<em>new</em>申请任意多少的内存,程序员自己负责在何时用free或<em>delete</em>释放内存。rnrnrnString::String(const String &other)rn rn// 允许操作other的私有成员m_datarn int length = strlen(other.m_data); rn m_data = <em>new</em> char[length+1];rn strcpy(m_data, other.m_data);rnrn这里用<em>new</em>为m_data 申请了内存,并在析构函数里释放该内存。rnrn我在自己的程序中rn char * RecBuf = <em>new</em> char[12];rn memset(RecBuf,0,12);rn memcpy(RecBuf,(char *)lParam,12);rn但是我绝对不能在这个程序中<em>delete</em> RecBuf,否则就会出错。rn这是个局部变量,不在这里释放内存岂不是就无法释放了。rn困惑ing!!rn
new,delete
int main()rnrn int i = 10,j = 5;rn int *ptr = <em>new</em> int(i);rn <em>delete</em> ptr;rn *ptr = j;rn return 0;rnrn请问下为什么<em>delete</em>后的ptr还能继续被赋值啊,我对着方面不是很了解,请各位能详细讲解下吗,在线等
new & delete
int **m;rnm = <em>new</em> int*[3];rnfor( int i = 0; i < 3; i ++ )rnrn m[i] = <em>new</em> int[3];rnrnrn这是申请内存的代码,要怎么释放呢?rn只是这样释放应该是没有释放完,我觉得:rnfor ( int i = 0; i < 3; i ++ )rnrn <em>delete</em> m[i];rn
new/deletenew[]/delete[]的底层调用和简单实现
在<em>使用</em><em>new</em>的时候做了两件事: 1、调用operator <em>new</em>分配空间 2、调用构造函数初始化对象 在<em>使用</em><em>delete</em>的时候也做了两件事: 1、调用析构函数清理对象 2、调用operator <em>delete</em>函数释放空间 在<em>使用</em><em>new</em>[N]的时候也做了两件事: 1、调用operator <em>new</em>分配空间 2、调用N次构造函数初始化N个对象 在<em>使用</em><em>delete</em>[
c++动态内存分配(new/new[]和delete/delete[])
为了解决这个普通的编程问题,在运行时能创建和销毁对象是基本的要求。当然,C已提供了动态内存分配函数 malloc( )和free( ),以及malloc( )的变种(realloc:改变分配内存的大小,calloc:指针指向内存前初始化),这些函数在运行时从堆中(也称自由内存)分配存储单元,但是运用这些库函数需要计算需要开辟内存的大小,容易出现错误。      那么
【C++】动态内存管理(new,delete,new[],delete[])
C语言动态内存开辟 C语言<em>使用</em>malloc/calloc/realloc进行动态内存开辟,malloc/calloc/realloc在堆上开辟一段空间,free将开辟的内存释放掉。 链接: (C语言)动态内存开辟[注意]: 堆上的内存需要用户自己来管理,动态malloc/calloc/realloc的空间,必须free掉,否则会造成内存泄露;栈上空间具有函数作用域,在函数结束后系统自动回
newdelete
亲们帮我看看~ 我在test程序中定义了一个动态数组(因为实际上,我是在这段程序中才能知道这个数组的长度的),并且需要把它传给主程序,所以我不知道怎么<em>delete</em>它了,或者我不用<em>delete</em>它吗?rnrn#include "iostream.h"rnrnrnint *test()rnrn int *p;rn p=<em>new</em> int[5];rn for(int i=0; i<
new delete
那位给帮忙给个用<em>new</em>和<em>delete</em>处理二维数组的实例啊,不胜感激!
new and delete!
#include rn#include rnusing namespace std;rnint main()rnrn vectorvec;rn string a;rn cout<<>a)rn rn vec.push_back(a); rn rn char **p=<em>new</em> char*[vec.size()];rn vector::iterator iter=vec.begin();rn int i(0);rn while(iter!=vec.end())rn rn char *p1=<em>new</em> char [(*iter).size()]; rn strcpy(p1,(*iter).c_str());rn p[i]=p1;rn ++iter;rn ++i; rn rn for(int i(0);i!=vec.size();++i)rn <em>delete</em> p[i];//这里参考答案上是<em>delete</em> []p[i],我感觉是<em>delete</em> p[i],哪个对呢!? rn <em>delete</em> []p;rn system("pause");rn return 0;rn
new & delete[]
需要实现随输入创建对象,然后把对象入栈,为了防止建立的对象在入栈后被析构了,用了 <em>new</em> 来建立对象,之后没有再用rn<em>delete</em>[] 来释放空间。rn我想知道的是, 这样建立起来的对象的空间在什么会被回收,需不需要人工参与?
newdelete
CString tStr="asdf asdf fff";rnrn int L=tStr.GetLength();rnrn char *pChar=<em>new</em> char[L];rnrn sprintf(pChar,tStr);rnrn <em>delete</em> pChar;rnrn 为什么最后的内存释放语句"<em>delete</em> pChar"出错???
【C++】动态内存分配详解(new/new[]和delete/delete[])
一、为什么需要动态内存分配? 在C++程序中,所有内存需求都是在程序执行之前通过定义所需的变量来确定的。 但是可能存在程序的内存需求只能在运行时确定的情况。 例如,当需要的内存取决于用户输入。 在这些情况下,程序需要动态分配内存,C ++语言将运算符<em>new</em>和<em>delete</em>合成在一起。 (1)特点 1.C++中通过<em>new</em>关键字进行动态内存申请 2.C++中的动态内存分配是基于类型进行的 ...
newdelete,new[],delete[]的简单模拟实现
我们清楚<em>new</em>,<em>delete</em>在底层通过调用operator <em>new</em>,operator <em>delete</em>来申请空间,和释放空间,operator <em>new</em>, operator <em>delete</em>则在顶层也是调用malloc来申请空间,free来释放空间。 好啦,通过这么一个逻辑关系,我们完全可以通过malloc,free来模拟实现<em>new</em>,<em>delete</em>,<em>new</em>[],<em>delete</em>[] 当然还有一点我们需在某个空间地...
new/deletenew[ ]/delete[ ]的底层调用和简单实现
在<em>使用</em><em>new</em>的时候做了两件事: 1、调用operator <em>new</em>分配空间 2、调用构造函数初始化对象 在<em>使用</em><em>delete</em>的时候也做了两件事: 1、调用析构函数清理对象 2、调用operator <em>delete</em>函数释放空间 在<em>使用</em><em>new</em>[N]的时候也做了两件事: 1、调用operator <em>new</em>分配空间 2、调用N次构造函数初始化N个对象
newdelete
C++程序在存储器的全局存储区(堆-Heap)分配和释放动态存储块,<em>new</em>负责从堆中分配内存,<em>delete</em>负责把内存还给堆(释放内存)。 <em>new</em>和<em>delete</em>的简单<em>使用</em> <em>new</em>可以跟数据类型、类、结构体、数组的名字一起<em>使用</em>,<em>new</em>分配内存之后,必须要<em>使用</em><em>delete</em>释放内存,否则的话,可能会导致内存泄漏(memory leak),小程序还好,大程序长时间运行就会停止运行。 #include...
new AND delete
char *a = <em>new</em> char;rnstring s;rncin.getline(a,20,'\n');rnint n = 0;rns = a;rnwhile (*a++ = ' ')rnrnn++;rnrncout<
NEW和DELETE
我在一个函数中NEW了一个对象 可以在另一个函数中DELETE掉这个对象吗?
newdelete?
我要显示的调用std空间的<em>new</em> 和 <em>delete</em>,调用形式如下:rnrnrn#include rnrnstd::operator <em>new</em>(x);rnstd::operator <em>delete</em>(p);rnrn这种形式编译器会报错,那应该怎么做呢?
New Delete
个人笔记 个人笔记 个人笔记 个人笔记 个人笔记
请问NEW/DELETE的使用的问题?
请问NEW/DELETE的<em>使用</em>的问题?rn这是我在<em>使用</em>ADO向数据库插入BLOB的代码rnrnpBuff = <em>new</em> TCHAR[Filelength + 1];rn rn memset(pBuff,0,Filelength + 1); rn TempFile.ReadHuge(pBuff,Filelength);//读文件到内存。rn rn if(pBuff) //通过安全数组将pBuff传给varBLOBrn rn rgsabound[0].lLbound = 0;rn rgsabound[0].cElements = Filelength;rn psa = SafeArrayCreate(VT_UI1, 1, rgsabound);rn for (long i = 0; i < (long)Filelength; i++)rn rn SafeArrayPutElement (psa, &i, pBuff++);rn rn rn varBLOB.vt = VT_ARRAY | VT_UI1;rn varBLOB.parray = psa;rn rnDELETE pBuff;//出错,内存错误! 慌乱中用了DELETE []pBuff;还是错!rn请大家帮我看看是什么地方出了问题?
C++ newdelete使用求助!
[code=c][/code]/*rn* 说明:用指针、<em>new</em>、<em>delete</em>实现一个字符串数组;rn*rn* 可提供其他方案;rn*rn* 感谢解答!rn*rn*/rnrnrn#include rnrnusing namespace std;rnrnrnvoid main() //vs2008 控制台程序rnrnrn int k=0;rnrn char **ppchA=<em>new</em> char*[20];rnrn for (k=0; k-1; k--)rn rnrn <em>delete</em> [] ppchA[k]; //经调试,该地方出错rnrn rnrn <em>delete</em> [] ppchA ;rnrnrnrnrn提示以下错误:rn[img=http://img.my.csdn.net/uploads/201304/11/1365657133_7573.gif][/img]rn
使用newdelete创建二维数组
<em>使用</em><em>new</em>和<em>delete</em>创建二维数组,作业习题中的一道,希望能有所帮助
关于newdelete使用,请教
新手初学,请多指教。rn按照书上的说法,<em>new</em>和<em>delete</em>一定要配对<em>使用</em>,我的理解在一个函数结束之前应该就调用<em>delete</em> 释放前面用<em>new</em>分配的内存,今天写的一个小程序去无法插入<em>delete</em>,无论放哪里都会在执行时报错,请大师们指教。rnvoid cut(CRect rect)rnrn int m,n,i,j;rn RectNode* tmpNode;rn m=rect.Width()/Wid;rn n=rect.Height()/Hei;rn for(i=0;irect=CRect(50+i*Wid,50+j*Hei,50+(i+1)*Wid,50+(j+1)*Hei);rn cutNode->pNext=tmpNode;rn cutNode=cutNode->pNext;rn cutNode->pNext=NULL;rn// <em>delete</em> tmpNode;rn rn// <em>delete</em> tmpNode;rnrnvoid fn()rnrn ...rn cut(rect);rn ...rnrn
newdelete 成对使用的问题
如下函数rn void makeCmdNoOperation( cmd_pack_t ** o_cmd_pkg )rn rn cmd_pack_t *cmd_pkg = NULL;rn cmd_pkg = ( cmd_pack_t * )malloc( sizeof(cmd_pack_t) );rn if ( !cmd_pkg )rn rn printf("%s malloc failed!\n",__FUNCTION__);rn rnrn cmd_pkg->head.cmd_code = CMD_OUT_NO_OP;rn cmd_pkg->head.len = 0;rn cmd_pkg->data = NULL;rnrn *o_cmd_pkg = cmd_pkg;rn //把值传递后,<em>delete</em> cmd_pkg 恰当吗?rn <em>delete</em> cmd_pkg;rn rn
C++入门——newdelete使用
大家好,今天来介绍<em>new</em>和<em>delete</em>的<em>使用</em>方法。一.基本<em>使用</em>当我们想要对一段未命名内存分配内容的时候,只能通过指针来访问该内存,我们可以用指针配合<em>new</em>运算符来开辟内存(malloc也可以实现)。我们需要告诉<em>new</em>我们要在内存里存储什么样的数据类型,<em>使用</em>模式如下:typeName * Pointer_name = <em>new</em> typeName;在<em>使用</em><em>new</em>开启了内存空间存储了数据以后,我们在<em>使用</em>完毕...
C++中newdelete使用
main()rnrn char *p==<em>new</em> char[2];rn <em>delete</em> []p;rn p=NULL;rnrn这个地方的p=NULL完全多余吧,要是这样做的话会不会有什么漏洞?还有,<em>delete</em>是将p指向的内存空间释放了,变量p并没有也跟着消失吧?
qt中newdelete使用
qt中有时候<em>使用</em><em>new</em>后并没有<em>使用</em><em>delete</em>,原因是 Qt 自动回收是靠父子关系。父亲销毁了。他的孩子也销毁。 #include "mainwindow.h" #include #include #include int main(int argc, char *argv[]) {     QApplication a(argc, argv);     Mai
C++ newdelete使用规范
C++的动态内存管理是通过<em>new</em>和<em>delete</em>两个操作来完成的,即用<em>new</em>来申请空间,用<em>delete</em>来释放空间。在<em>使用</em><em>new</em>和<em>delete</em>时,注意以下原则。(1)程序运行时,<em>new</em>操作和<em>delete</em>操作必须一一对应。 用<em>new</em>操作申请空间,如果申请成功,必须在以后的某个时刻用<em>delete</em>释放该空间,既不能忘记释放,也不能多次释放。前者会引起内存泄露,后者会引起运行时错误。如下面的程序。#inclu
使用newdelete时候的规则
总之,<em>使用</em><em>new</em>和<em>delete</em>时,应遵守以下规则:rn 不要<em>使用</em><em>delete</em>来释放不是<em>new</em>分配的内存。rn 不要<em>使用</em><em>delete</em>释放同一个内存块两次。rn 如果<em>使用</em><em>new</em>[] 为数组分配内存,则应<em>使用</em><em>delete</em>[]来释放。rn 如果<em>使用</em><em>new</em>[] 为一个实体分配内存,则应<em>使用</em><em>delete</em>(没有方括号)来释放。rn 对空值指针应用<em>delete</em>是安全的。rnrn在上面提到的倒数第二条里面,什么是“一个实体”呢?
c++ delete new delete[]的问题
#includernusing std::endl;rnusing std::cout;rnusing std::endl;rnclass studentrnrnpublic:rn student()rn rn cout<<
动态内存申请 newdeletedelete[]、delete()
申请单个数据空间int* a = <em>new</em> int(50); //(50)是初始化为50 <em>delete</em> a; 申请多个数据空间int* a = <em>new</em> int[20]; <em>delete</em>[] a; 注意!!!   当动态申请的内存是普通变量时不管<em>使用</em><em>delete</em>还是<em>delete</em>[],都是能够正常回收内存的,但为什么还要用<em>delete</em>[]呢?   <em>使用</em><em>delete</em>在释放对象数组时就会出现问
求助,使用new分配内存,何处使用delete?
struct NODErn rn float m_fData;rn NODE *m_pNext;rn ;rn NODE *pListHead;//链表头部指针rn NODE *pNewNode;rn NODE *pLastNode;rn float fElement;//当前元素值rn pListHead=NULL;//新链表rn fElement=1024;rn while(fElement>0.00001)rn rn pNewNode=<em>new</em> NODE;rn pNewNode->m_fData=fElement;rn pNewNode->m_pNext=NULL;rn if(pListHead==NULL)rn rn pListHead=pNewNode;rn pLastNode=pNewNode;rn rn elsern rn pLastNode->m_pNext=pNewNode;rn pLastNode=pNewNode;rn rn fElement/=2;rn[color=#FF0000](1) <em>delete</em> pNewNode;[/color]rn rn[color=#FF0000](2) <em>delete</em> pNewNode;[/color][/color]rn NODE *pCurNode=pListHead;rn i=m=0;rn CString str; rn while(pCurNode->m_pNext!=NULL)rn rn str.Format("%f",pCurNode->m_fData);rn pDC->TextOut((++i)*20,(++m)*20,str);rn pCurNode=pCurNode->m_pNext;rn rn[color=#FF0000](3) <em>delete</em> pNewNode;[/color][/color]rnrnrn以上是一个链表实现一个从1024开始的等比数列,rnwhile循环中<em>使用</em>了<em>new</em>创建了新的结点。rn那么具体在何处采用<em>delete</em>删除结点呢?rn(1)or (2) or (3) ??
重载new / delete 操作符
静态存储区创建动态对象#include #include using namespace std;class Test { static const int count = 4; static char m_buffer[]; static char m_map[]; int m_value; public: void*
操作符重载 new delete
<em>new</em>/<em>delete</em>操作符重载 Ø重载<em>new</em>和<em>delete</em>必须再关键字operator和操作符之间留下空格,及如下形式:operator<em>new</em> Ø重载<em>new</em>第一个参数一定是size_t类型参数,函数必须返回无类型指针。 Ø重载<em>delete</em>第一个参数一定是一个无类型的指针,函数必须没有返回值。 void *operator <em>new</em>(size_tsize) {
用于数组的newdelete
创建数组: char*  str=<em>new</em> char[100]; 创建数组并初始化: int* arr=<em>new</em> int[10]{1,2,3,4,5,6,7,8,9,10}; 释放数组: <em>delete</em>[] str; <em>delete</em>[] arr; 创建对象数组: class Person { public: int mage; char* name; Person() { n
newdelete 运算符
为了提高程序的通用性和内存的利用率,实际编程时,经常出现在程序运行过程中,根据程序对内存的实际需求来分配存储空间的情况 如下列程序: int n; cin>>n; float a[n]; 但是编译器在编译第三行时出错,原因是定义数组时下标表达式的值必须是:编译时有明确的值的常量 不过c++允许用<em>new</em>运算符申请动态内存的方法的解决上述程序 如:float  * a = <em>new</em>
重载 newdelete 运算符
重载<em>new</em>和<em>delete</em>运算符不同于其他类型的运算符重载,程序中重载了<em>new</em>运算符的同时也必须重载<em>delete</em>运算符。同时对于重载<em>new</em>和<em>delete</em>运算符的函数的参数也是有要求的,<em>new</em>运算符函数的第1个参数必须是size_t(C++标准库定义类型,等同于unsigned类型),而且其返回值必须是void*。<em>delete</em>运算符重载函数的参数必须是void*,当然还可以有其他参数。 例如,实现一个D
newdelete的用法
#include using namespace std; //<em>new</em>和<em>delete</em>的用法 void main() { //<em>new</em>的第一种用法,将p[0]赋值为5 int *p=<em>new</em> int(5); cout <em>delete</em> p;//释放单个指针     //<em>new</em>的第二种用法 int *q = <em>new</em> int; <em>delete</em> q; //<em>new</em>的第三种用法,开辟大小为5的内
深度剖析new/delete
malloc/free和<em>new</em>/<em>delete</em>比较 malloc/free和<em>new</em>/<em>delete</em>的区别和联系?它们都是动态管理内存的入口 malloc/free是C/C++标准库的函数,<em>new</em>/<em>delete</em>是C++操作符 malloc/free只是动态分配内存空间/释放空间。而<em>new</em>/<em>delete</em>除了 分配空间还会调用构造函数和析构函数进行初始化与清理(清理成员) malloc/free...
C++之对象的newdelete
这里单独说一点对于类对象的<em>new</em>和<em>delete</em>中到底开辟的是哪段空间,释放的是哪段空间。 还是一样举个例子:class A{ private: char* str; public: A(){ str = <em>new</em> char[100]; } ~A(){ <em>delete</em> []str; } };int main(){ A
C++ new/delete操作符重载
C++ <em>new</em>/<em>delete</em>操作符重载 本文简单实验了 C++ <em>new</em>/<em>delete</em> 操作符的重载,全局重载和具体类的重载。 在此基础之上可以实现在堆上的内存分配的跟踪和对象chi 代码如下: #include #include using namespace std; class A { public: void Print() { cout " A Class "
C++之newdelete重载
首先要知道<em>new</em>和<em>delete</em>是一种运算符,而malloc和free是一种系统调用函数,因此<em>new</em>和<em>delete</em>是可以重载的。 先来举个例子看一下<em>new</em>与<em>delete</em> 和 malloc与free的区别:class A{ public: A(){ cout << "constuctor" << endl; } ~A(){ cout << "di
newdelete创建对象
动态创建对象对于class类型,必须用<em>new</em>/<em>delete</em>来创建,销毁。malloc/free是无法胜任的。<em>new</em>:动态创建一个对象: 申请一块内存 内部调用了构造函数 <em>delete</em>:释放这个对象: 调用了析构函数 释放内存 //动态创建一个对象 Circle * c=<em>new</em> Circle();//默认构造函数 Circle * c=<em>new</em> Circle;//不加括号也可以 Circle * c=n
关于newdelete
LPBYTE buf = <em>new</em> BYTE[100];rnrn期间<em>使用</em>了 mencpy 等操作改变了buf的大小rnrn<em>delete</em> buf 程序会被中断 Invalid Address specifiedrnrn我应该怎么做?谢谢!
关于newdelete的问题
在vc6中有3个工程usedll.exe,<em>new</em>indll.dll,delindll.dllrn//usedll.cpprn///////////////////////////////////////////////rn#includern#include"windows.h"rnusing namespace std;rntypedef void (*foNew) (int*&);rntypedef void (*foDel) (int*&);rnvoid main(void)rnrn int* pIn;rn HANDLE hLibraryNew,hLibraryDel;rnrn hLibraryNew=LoadLibrary("DllNew.dll");rn hLibraryDel=LoadLibrary("DllDel.dll");rnrn foNew FnNew=GetprocessAddress(hLibraryNew,"DllNew");//我不记得函数名了rn foDel FnDel=GetProcessAddress(hLibraryDel,"DllDel");//获得函数地址的rnrn FnNew(pIn);rn FnDel(pIn);rnrnrn//DllNew.dllrn/////////////////////////////////////////////////////////rnvoid DllNew(int*& pIn)rnrn pIn=<em>new</em> int[50];rnrnrn//DllDel.dllrn//////////////////////////////////////////////////////////rnvoid DllDel(int*& pIn)rnrn <em>delete</em>[[] pIn;rnrnrn会发生错误(原因我基本知道)。rnrn有什么解决办法?rn
重载全局newdelete
程序代码 如下所示: #include&amp;lt;cstdio&amp;gt; #include&amp;lt;cstdlib&amp;gt; using namespace std; void* operator <em>new</em>(size_t sz) //sz由编译器传入 { printf(&quot;operator <em>new</em>: %d Bytes\n&quot;, sz); void* m = malloc(sz); if (!m) ...
关于NEW和DELETE的问题
#include rnusing namespace std;rnrnchar * f(char *ps,int size)rn char *pc=<em>new</em> char[size];rn for (int i=0;i
关于newdelete
int main()rnrn rn vector *point=<em>new</em> vector();rn vector *point_other=point;rn <em>delete</em> point_other;rn <em>delete</em> point;rnrn rn return 0;rnrnrnrnrn这个程序会引发什么问题?,编译可以通过,但是出现警告,rn后来运行的时候就出现错误的对话框,提问我是中止还是忽略rn请各位高手讲解~~谢谢!!
关于重载newdelete?
如下程序:rn#includern#includernrnvoid* operator <em>new</em>(size_t sz)rn rn printf("operator <em>new</em>: %d bytes\n",sz);rn void* m=malloc(sz);rn if(!m) puts("out of memory");rn return m;rn rn rnvoid operator <em>delete</em>(void* m)rn rn puts("operator <em>delete</em>");rn free(m);rn rnrnrnclass srnrn int i[100];rnpublic:rn s() puts("s::s()");rn ~s() puts("s::~s()"); rn rn;rnrnrnvoid main()rnrn puts("creating & destroy an int");rn int* p=<em>new</em> int(47);rn <em>delete</em> p;rn puts("creating & destroy an s");rn s* S=<em>new</em> s;rn <em>delete</em> S;rn puts("creating & destroy s[3]");rn s* SA=<em>new</em> s[3];rn <em>delete</em> []SA;rnrn该程序在Turbo c++编译器中编译,<em>new</em>和<em>delete</em>能成功执行重载版本,rn而在Visual c++编译器中编译,却未能成功执行重载版本,而仍然执行原版本.rn试问:出现上述现象的原因是什么?rn 在Visual C++编译器中如何使程序中的三个<em>new</em>和<em>delete</em>都成功执行重载版本?rn (给出相应代码)rnrnrn
基础问题new/delete
char* p = <em>new</em> char[64000];rn<em>delete</em> p;rnrn有没有错 ?, 何时会错 ?
newdelete 的问题
我在debug的时候 弹出窗口说rnUnhandled exception at 0x10252758 (msvcr80d.dll) in gl2.exe: 0xC0000005: Access violation reading location 0xccccccc0.rnrn我在代码中找了一下可能是下面这个函数的问题,虽然我找到了位置,但是,我不知道哪里错了~~rn这是这个函数,用来归还内存rn[code=C/C++]rnvoid env::releaseField()rnrn <em>delete</em> [] _frameBuf;rn _frameBuf = 0;rnrn if (_field)rn rn for (int i=0; i<_dimY; r++)rn _field[c][r]=tpSEA; rn rn rnrn[/code]rnrn谢谢大家了
c new delete
<em>new</em> 分配的 <em>delete</em> 不掉?
newdelete 的问题
TCHAR* filename = <em>new</em> TCHAR[100];rn………………rn<em>delete</em> []filename;rnfilename= NULL;rnrn这个有问题吗? 怎么会出现堆内存被破坏的情况,我的是vs2005,不会是编译器的原因吧 。rn本人新手,别笑话啊!
newdelete问题??
char *XML= <em>new</em> char[flong+1];rn......rn<em>delete</em> []XML;rnrn其中flong是我得到应该分配的内存大小,程序运行到<em>delete</em>时就出错,为什么;rn然后我换成下面的方法rnchar *XML= (char*)malloc((flong+1)*sizeof(char));rn......rnfree(XML);rn依然出错,怎样释放动态大小的内存呢;rn若我指定大小就可以如rnchar *XML= (char*)malloc(1024*sizeof(char));rn......rnfree(XML);rnrn为什么?
关于New Delete的疑问
第一个疑问:rnint *a;rna=<em>new</em> int;rn那么之后如何把数据放入a指向的内存里呢?rnrn第二个疑问:rnstruct CFGINF rnrnint flag; rnCString szTitle;rnCString szPath;rn;rnstruct CFGINF * cfginf;rncfginf=<em>new</em> cfginf;rnCfgInf->flag=1;rnCfgInf->szTitle=m_szEdittitle;rnCfgInf->szPath=m_szEditpath;rn这是如何把相应的值放到<em>new</em>出来的内存里的呢?而且为什么不需要我用<em>delete</em>把<em>new</em>的内存释放呢?rnrn第三个疑问:rn有一个CPtrList类的对象,当用removeat函数移除某一个节点后,为什么又需要用<em>delete</em>把节点指向的内存释放?rn(我知道这样是防止内存泄露,我不理解的是什么时候要用<em>delete</em>,为什么有的时候不用)rn:-D 问题有点多~~先谢啦
newdelete 还有wsprintfW
今天弄字符串,关于格式化字符串输出到缓存区的,还有多字节字符串与宽字符的转换,先是用MultiByteToWideChar和MultiByteToWideChar,都没问题,rn我后来又用wsprintfW从多字节字符串转换为宽字符字符串rn代码如下:rnLONG OnPaint(HWND hwnd,UINT message,WPARAM wParam,LPARAM lParam)rnrn HDC hdc;rn PAINTSTRUCT ps;rn RECT rect;rn GetClientRect(hwnd,&rect);rn hdc = BeginPaint(hwnd, &ps);rn std::wstring s1(L"中华人民共和国今天~~~~~~~~~~~成立啦!!!"); rn WCHAR* g= <em>new</em> WCHAR[s1.length()];rn wsprintfW(g,L"%s",s1.c_str());rn TextOutW(hdc, 100,100,g,wcslen(g));rn <em>delete</em> [] g;rn EndPaint(hwnd, &ps);;rn return 0;rnrn响应WM_PAINT的,编译连接过了,但是一运行的时候就会弹错误,我注释了下语句发现是<em>delete</em> [] g;这句话的问题,应该是指针挂起之类的,但是我反反复复检查了很多次,都没找到错误在哪里,每次NEW一个然后DELETE一个,没有错的,我注释其他语句发现只要把wsprintfW(g,L"%s",s1.c_str());注释掉就没问题了,但是我始终想不明白为什么会这样,难道wsprintfW会释放第一个参数所指的内存吗?但是下面又用了,可是怎么2个语句加一起就有问题,随便除掉一个就没有!!!!
C++学习笔记之new,delete
C语言提供malloc和free两个系统函数完成对内存空间的申请和释放,C++提供了关键字<em>new</em>,<em>delete</em>。 用法: #include&amp;lt;iostream&amp;gt; #include&amp;lt;stdlib.h&amp;gt; using namespace std; int main() { /*int *p = (int *)(malloc(sizeof(int))); *p = 3...
关于newdelete的疑问?
我是C++的初学者,想写一个类,在这个类中需要创建一块内存区,rnrn但是这块内存不是在构造函数中创建的,是在其他的成员函数中有条件创建(<em>new</em>)的或释rnrn放后(<em>delete</em>)再创建(<em>new</em>)新的一块内存,我考虑如果如此频繁的创建和释放内存区会rnrn在内存中造成内存碎片而用<em>new</em>来创建时需要有足够多的内存区,内存碎片如果太多而不能rnrn有足够的连续空间可以<em>使用</em>的话会有问题。rnrn请各位大虾教我!
关于newdelete
class Personrnrnpublic:rn Person(char *pname="noname", int pid = 100) rn rn ptr = <em>new</em> Person(name,id);//<em>new</em>rn name = pname;rn id = pid;rn cout << "Call constructor." << endl;rn //构造函数rn Person(const Person &p ) rn rn name = p.name;rn id = p.id;rn cout << "Call copy constructor." << endl;rn ptr = <em>new</em> Person();//<em>new</em>rn *ptr = *(p.ptr);rn //拷贝构造函数rn ~Person()rn if(ptr!=NULL)rn <em>delete</em> ptr;//<em>delete</em>rn rn void printinfo()rn rn cout << name << "," << id << endl;rn //析构rnprivate:rn Person *ptr;rn char *name;rn int id;rn; rnrn运行的时候堆栈溢出了,想知道是哪里出了问题,求教。
newdelete问题
在C++中,为了在<em>new</em>和<em>delete</em>之间进行“交互/通信”,通常会在<em>new</em>分配的内存块前放置一个"cookie"。rnrn 但是,这个"cookie"中存放的到底是“区块的大小(单位:byte)”,还是“区块中对象的个数(单位:个)”呢?(如果你认为它们两个没有区别,根本不用区分,请看下面“附”,否则不用看“附”)rn 我认为,对于一般的<em>new</em>(非数组形式),那么cookie中存放的是区块的大小(也即一个对象的大小,因为非数组形式的<em>new</em>只分配一个对象);对于数组形式的<em>new</em>,cookie中存放的是对象的个数。rn 不知道我的观点正确否?(我知道对于不同的编译器可能有不同的实现,但是能否有一个方法能够测试一下呢?我用的是vs2003编译环境)rnrnrn附:你可能说,已知两者的任何一个都可以求出另一个,因为它们之间存在如下数学关系:rn 区块的大小 = 区块中对象的个数 * 每个对象的大小rn rn 所以根本不用加以区分,但是我有两个理由:rn 1.上面公式只在“没有继承/多态”的情况下才成立,如果涉及到多态,则会出现问题,比如rnclass father ...rnclass son : public father ...rnfather *pf = <em>new</em> son[3];rn 在这种情况下,上述公式就会出现问题:如果cookie存放的是对象的个数,那么利用公式求出的“区块大小”99%是不对的(当然不排除极少数极少数的编译器),因为此时“每个对象的大小”会被编译器理解为sizeof(father)。(当然了,将多态与指针运算混在一起不是一个很好的习惯,但是此处只是举一个例子而已)rn 2.我确实非常想知道底层的实现机制。rn
关于newdelete的疑问
[code=c] TT* p=pNew(row*col);rn for (i=0;i
newdelete的问题
我写了一个高精度乘法的函数rn在OJ上总是出现RUNNING ERROR的问题,猜测是因为这个函数体当中申请了<em>new</em>空间没有相应的<em>delete</em>删除。但是char*value=<em>new</em> char[]这个字符串又是一个必须返回的值,请问有什么方法可以代替这种做法的吗?有其他小技巧可以将<em>new</em>出来的value在函数返回之后,可以<em>delete</em>掉rn代码如下:rn//高精度乘法rnchar* mul(const char*a,const char*b)//a和b都是数字型字符串,返回值的结果的字符串rnrn int i,k,flag=0;rn int a_len=strlen(a);rn int b_len=strlen(b);rn char *x=<em>new</em> char[a_len];rn char *y=<em>new</em> char[b_len];rn int *result=<em>new</em> int[a_len+b_len];rn memset(result, 0, sizeof(int)*(a_len+b_len));rnrn for( i = 0; i < a_len; i++ )rn x[i]=a[i]-'0';rn for( i = 0; i < b_len; i++ )rn y[i]=b[i]-'0';rnrn for(k=b_len-1;k>=0;k--)rn for(i=a_len-1;i>=0;i--)rn result[i+k]=result[i+k]+(x[i]*y[k]);//先加起来,最后才进位rn rn for(i=a_len+b_len-2;i>=0;i--)//flag进位处理 rn result[i]+=flag;rn flag=result[i]/10;rn result[i]%=10;rn rnrn //flag可能是两位数的rn char *value=NULL;rn if(flag>=10)rn value=<em>new</em> char[a_len+b_len+1];rn value[0]=flag/10;rn value[1]=flag%10;rn for(i=0;i0)rn value=<em>new</em> char[a_len+b_len];rn value[0]=flag;rn for(i=0;i
关于重载 new delete
rn我一直搞不懂重载<em>new</em>和<em>delete</em>rnrn能不能说一下什么时候重载rnrn如何重载[ 举几个列子 说细一点 ( 我比较笨 )]rnrn那我就先谢谢各位大虾了 谢谢 谢谢
有关new delete 的问题:
(1)//自定义一个类 rnclass Cgcodernrnpublic:rn rn Cgcode(void);rn ~Cgcode(void);rnpublic:rn double m_x,m_y,m_z;rn CString m_ine;rn;rn//rn(2) m_allline为CxxxxView的一个成员;为CPtrArray类.rnrn(3) void CxxxxView()rn rn //......rn for(i=0;i
关于newdelete 的迷惑
数组要用<em>delete</em>释放内存吗,用<em>new</em>分配内存的对话框需要用<em>delete</em>删除吗?rn还有别的什么要注意的吗??谢谢了啊
newdelete 的一个问题
今天看到个这么个东东: 有个类的实例(不是<em>new</em>的),不要的时候就<em>delete</em>掉了,不知为什么可以这样用.<em>delete</em>不是只能与<em>new</em>搭配<em>使用</em>吗.注:程序编译通过,运行正常.rnrn请教大家了,谢谢
关于newdelete的问题
自从国庆之后,我都很久没来csdn了,主要是在家研究《c++ primer》呢,然后就发现了很多从前没有发现到的问题,其中之一如下:rn<em>new</em>和<em>delete</em>的问题:rn比如说,我在一个按钮的点击事件中用<em>new</em>建立的一个任意类型的一个对象,对他进行一系列的操作,然后可以返回一些结果。然而,在这个事件结束的时候就被系统默认的<em>delete</em>了,在下一个按钮的点击事件中,刚才用<em>new</em>建立的那个对象名字自然就用不了了。除非我在全局作用域中用<em>new</em>建立这个对象。rn可是高手们经常说,尽量不要建立全局变量,但是对于这种情况应该用什么样的办法使对象的生存期延长呢?
new/delete问题
#include "stdafx.h"rn#include rnusing namespace std;rnrnvoid main(void)rnrn int n;rn char *p;rn cout<<>n;rn p = <em>new</em> char[n];rn strcpy(p,"对内存的动态分配");rn cout<
关于new delete函数
楼主是小白[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/49.gif][/img]想知道一下代码哪里有问题rn#include"stdio.h"rn#include"string.h"rnrnint main(int argc, char* argv[])rn char *a=<em>new</em> char;rn gets(a);rn printf("%s\n",a);rn <em>delete</em>[](a);rnrn return 0;rnrn错误对话框截屏:[img=https://img-bbs.csdn.net/upload/201312/02/1385978430_566499.jpg][/img]rn如果不写结尾的<em>delete</em>,执行就是成功的[img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/15.gif][/img]。rn
new, delete 异常
1、请问什么时候<em>new</em>会产生异常?而且可以排除不是内存不足的原因。此异常由C++底层函数库报出。(MFC 6.0)rn2、<em>delete</em> 操作时产生异常:“HEAP: Free Heap block XXXX modified at YYYY after it was freed”,该<em>delete</em>是写在析构函数中,应该不是多次<em>delete</em>之故。rnrn多谢帮助!
关于newdelete 的问题
问题比较初级,但我却没有从书上找到答案。rnrn//Class A;rnrnA a = <em>new</em> A; // 这里,a是什么?不是指针,不是引用,是什么?rnA *a = <em>new</em> A;rn以上有什么区别?rn<em>new</em> 操作应该返回的是 void* ,这意味着必须是指针,那么,为什么还可以存在 A a = <em>new</em> A; ?rnrn两者都需要 <em>delete</em> a 吧?如果需要,两者的<em>delete</em> a的动作的背后是相同的吗(释放掉a 指向的对象占用的内存)?rnrn谢谢
问个new/delete的问题
为了启动管理多个不同的线程,我定义了一个结构rnrn HANDLE hThread;rn LPARAM lParam ; rn ...rnrnlParam是线程需要的数据,有个线程我要传2个字符串进去,用了以下方法:rnCString *ptr = <em>new</em> CString[2];rnptr[1] = str1;rnptr[2] = str2;rnpara.lParam = (LPARAM) ptr;rn当希望传入别的数据的时候<em>new</em>其它的类型,在线程内去解析lParamrn线程获取/<em>使用</em>这些数据是没有问题的rn在线程结束的时候就有问题了,因为需要<em>delete</em> lParam对应的内容rn而实际上lParam不一定是什么类型,也许是CString* 也许是 MyStruct*rn直接<em>delete</em> [] (char*)lParam 会报错。rn如果在开始的时候都统一用char*来申请内存,像下面这样:rnchar * buf = <em>new</em> char[sizeof(CString)*2];rnchar * ptr = (CString*)buf;rnptr[1] = str1;rnptr[2] = str2;rn这样赋值的时候又会报错。rnrn怎么解决这样的问题比较好呢?rn
关于new[]与delete[]的小问题
#include "stdafx.h"rn#include rnusing namespace std;rn#define LEN sizeof(struct People)rnrnstruct Peoplernrn int num;rn char name[20];rn char sex;rn char job;rn union rn int clas;rn char position[10];rn category;rn*person[2];rnrnrnrnint main(int argc,TCHAR* argv[])rn int i;rn rn for(i=0;i<<>person[i]->num>>person[i]->name>>person[i]->sex>>person[i]->job;rn if(person[i]->job=='s') cin>>person[i]->category.clas;rn else if(person[i]->job=='t') cin>>person[i]->category.position;rn else cout<<<<<<<<<<
newdelete的问题,
char *c=<em>new</em> char[BUFFSIZE];rnrnwhile(recv(sock,c,BUFFSIZE,0))rnrn strcat(buf,c);rnrn<em>delete</em> []c;rnrn为什么<em>delete</em>时会出错
newdelete的问题.
书上遇到的一个例题rnchar * substring(const char * const s, int start, int end)rnrnchar * pNewString = <em>new</em> char[end - start + 1];rnint j = 0;rnfor (int i = start, i < end; i++, j++)rnpNewString[i] = s[i];rnrnpNewString[j] = '\0\';rnretrun pNewString;rnrnint main()rnrnchar *s = "Atlanta, Georgia";rncout << substing(s, 0, 7);rnreturn 0;rnrn这个怎么释放动态分配的那个东西啊.在哪用<em>delete</em>; rn我刚学到指针这块.还没学到类那呢,这是书上的一个例题,rn书上,跟网上,都说,New 与 Delete应该成对出现.这个例子里没有成对出现,只是下面说,应该用<em>delete</em>释放空间,我不知道在哪用这个<em>delete</em>.
combobox 的问题(newdelete
caipiaolist 是combobox下拉框的控件变量rnrnrnrnCFile fp;int result;rnfp.Open(_T("data.txt"),CFile::modeCreate|CFile::modeNoTruncate|CFile::modeReadWrite,NULL);rnCmoney *money=<em>new</em>(Cmoney);rnwhile (result=fp.Read(&money,sizeof(money)))rncaipiaolist.AddTail(&money);rnrn<em>delete</em> money;//==这里跳出了错误rnrnrn跳出错误 <em>delete</em> money 出错
重载operator newdelete?
按照efftive c++ item10的说法。重载应该如下:rnrnstruct foornrnvoid * operator <em>new</em> ( size_t size )rnrn...rnrnrnvoid operator <em>delete</em>( void *p, size_t size )rnrn...rnrnrn;rnrn// testrn<em>delete</em> <em>new</em> foo;rnrn这样foo::operator <em>new</em>和foo::operator <em>delete</em>能够被正常调用。rnrn可惜在VC中总是会报一个警告:rnoperator <em>new</em> no matching operator <em>delete</em> found; memory will not be freed if initialization throws an exception.rnrn意思就是说:rnvoid *foo::operator <em>new</em>( size_t size )没有匹配的operator <em>delete</em>即rnvoid foo::operator <em>delete</em>( void *p ),这样,如果<em>new</em>过程中在foo()构造函数中抛出一个异常的话,因为没有匹配的foo::operator <em>delete</em>(void*),所以<em>new</em>操作符调用的foo::operator <em>new</em>(size_t)所分配的内存得不到释放。rnrn于是乎我不得不这样写。rnstruct foornrnvoid * operator <em>new</em> ( size_t size )rnrn...rnrnrnvoid operator <em>delete</em>( void *p )rnrn operator <em>delete</em>( p, sizeof(foo) );rnrnrnvoid operator <em>delete</em>( void *p, size_t size )rnrn...rnrnrn;rnrn这么一来:rnrn<em>delete</em> <em>new</em> foo;rnrn就会调用foo::operator <em>delete</em>( void * )( 不会直接调用foo::operator <em>delete</em>( void *, size_t ) ), 进而调用foo::operator <em>delete</em>( void *, size_t )(如上,这个是在程序中显式调用的)。rnrn后来想了想,又改成这样,rnrnstruct foornrnvoid * operator <em>new</em> ( size_t size )rnrn...rnrnrnvoid operator <em>delete</em>( void *p )rnrn operator <em>delete</em>( p, sizeof(*this) );rnrnrnvoid operator <em>delete</em>( void *p, size_t size )rnrn...rnrnrn;rnrn不知道有没有人碰到过这种问题,是怎么解决的??rn
33个毕业设计——单片机类下载
16×16点阵(滚动显示)论文+程序.rar cdma通信系统中的接入信道部分进行仿真与分析.rar LED显示屏动态显示和远程监控的实现.rar MCS-51单片机温度控制系统.rar USB接口设计.rar 毕业设计(论文)OFDM通信系统基带数据.rar 仓库温湿度的监测系统.rar 单片机串行通信发射机.rar 单片机课程设计__电子密码锁报告.rar 单片机控制交通灯.rar 电动智能小车(完整论文).rar 电气工程系06届毕业设计开题报告.rar 电信运营商收入保障系统设计与实现.rar 电子设计大赛点阵电子显示屏(A题)..r 相关下载链接:[url=//download.csdn.net/download/zhangjin4115/2383629?utm_source=bbsseo]//download.csdn.net/download/zhangjin4115/2383629?utm_source=bbsseo[/url]
const工作方式及运用下载
const的工作方式,对c语言运用的细节进行了详细的描述, 相关下载链接:[url=//download.csdn.net/download/lining0209/3091158?utm_source=bbsseo]//download.csdn.net/download/lining0209/3091158?utm_source=bbsseo[/url]
JAVA宝典(PDF)下载
全书内容全面,自成体系、以实例贯穿全文,循序渐进地教会读者如何使用开发工具和组件构建和开发JSP网站。本书适合大专院校在校生、网站开发人员、职业技术培训人员、编程爱好者等读者学习和参考。 相关下载链接:[url=//download.csdn.net/download/victor_hxz/5245406?utm_source=bbsseo]//download.csdn.net/download/victor_hxz/5245406?utm_source=bbsseo[/url]
相关热词 c# gdi 占用内存 c#中遍历字典 c#控制台模拟dos c# 斜率 最小二乘法 c#进程延迟 c# mysql完整项目 c# grid 总行数 c# web浏览器插件 c# xml 生成xsd c# 操作sql视图
我们是很有底线的