- 博客(26)
- 资源 (6)
- 收藏
- 关注
原创 C++-内存管理(整理笔记)
C++内存管理(整理笔记)C++内存管理详解l 内存分配方式在C++中,内存分成5个区,分别是堆、栈、自由存储区、全局/静态区和常量存储区. 栈:存放函数参数以及局部变量,在出作用域时,将自动被释放.栈内存分配运算内置于处理器的指令集中,效率很高,但分配的内存容量有限.堆:new分配的内存块(包括数组,类实例等),需delete手动释放.如果未释放,在
2007-07-27 16:24:00 15716 3
原创 C#-委托(C#高级编程笔记)
委托(C#高级编程笔记) p153与C不同的是,.NET的委托是类型安全的.C中的函数指针只不过是指向一个存储单元的指针,我们无法说出这个指针实际指向什么,而参数和返回类型就更无从知晓了.实际上,”定义一个委托”是指”定义一个新类”,委托的实现派生于System.MulticastDelegate, MulticastDelegate又派生于System.Delegate.如何在C#中
2007-07-25 09:40:00 3111 4
原创 C#-构造函数要注意的
/**//*************************************************** * 静态构造函数: * 静态构造函数用来初始化静态成员,静态构造函数不能有参 * 数,且不能有修饰符. * 静态构造函数只能初始化静态成员,而非静态构造函数可以 * 初始化所有成员.*********************
2007-07-22 21:15:00 1222
原创 测试-为“日”字加一笔,你第一反应是什么字?
“日”字加一划,仔细想一想可以想出多少个字,看看你的文字功底.另外你第一反应是什么字? 因为可以看出你是什么性格的人!!!答案向下看 田:最好的人 目:最精明的人 由:最善的人 电:最恶的人 旧:最毒的人 甲:最狠的人 申:最狡猾的人 旦:最懒的人 白:最想ML的人 巴:最刁钻古怪、存心找碴
2007-07-22 19:43:00 3024
原创 C#-事件之自我总结
首先让我们先了解一下什么是回调函数回调函数1、什么是回调函数?答:简单的说,回调函数是一个通过函数指针调用的函数。2、为什么我们要使用回调函数?答:调用者(Button类)并不关心被调用者是谁;它所知道的是具有特定原型的被调用者(定义在主程序中的MyBtnClick方法)以及一些可能的限制(比如,返回值可以是整数,不过特定的值有特定含义)举例:如果你想知道实践中回调函数
2007-07-20 15:00:00 2210 1
原创 C#-string类的索引的个人想像
别人问我一个问题的时候突然发现 string 类似乎实现了索引,也不知道是不是,就自己想像了一下,写了个方法实现.如果并非如此,请大家不要笑话!!!! (方法写的不严谨,只是实现一下)using System;using System.Collections.Generic;public class MyClass...{ public static void Mai
2007-07-20 14:33:00 2517 2
转载 C#-struct实例字段的内存布局(Layout)和大小(Size)
struct实例字段的内存布局(Layout)和大小(Size) 在C/C++中,struct类型中的成员的一旦声明,则实例中成员在内存中的布局(Layout)顺序就定下来了,即与成员声明的顺序相同,并且在默认情况下总是按照结构中占用空间最大的成员进行对齐(Align);当然我们也可以通过设置或编码来设置内存对齐的方式. 然而在.net托管环境中,CLR提供了更
2007-07-19 15:40:00 20397 4
原创 C#-调用Windows API函数
调用Windows API函数请先参考"struct实例字段的内存布局(Layout)和大小(Size)" Api函数是构筑Windws应用程序的基石,每一种Windows应用程序开发工具,它提供的底层函数都间接或直接地调用了Windows API函数,同时为了实现功能扩展,一般也都提供了调用WindowsAPI函数的接口, 也就是说具备调用动态连接库的能力。Visual C#和
2007-07-19 13:39:00 1685
原创 C#-ref关键字
/**//************************************************* * ref 关键字 * ref 关键字使参数按引用传递。其效果是,当控制权 * 传递回调用方法时,在方法中对参数所做的任何更改都将 * 反映在该变量中。 若要使用 ref 参数,则方法定义和调用 * 方法都必须显式使用 ref 关键字.*****
2007-07-19 10:35:00 1255
原创 C#-new 和 override 的区别
//overridepublic class A...{ public A() ...{ Console.WriteLine("A constructing"); this.GetYear(); } public virtual void GetYear() ...{ Console.WriteLine("A
2007-07-19 08:39:00 1412
原创 C#-Dispose 和 Close 的区别
Dispose 和 Close 的区别Dispose和Close基本上是一样的,Close是给不熟悉Dispose的开发者设计的;对于某些类来说,Close更有逻辑性..NET的一些class只提供Close,且派生自IDisposable并隐藏了Dispose方法; 这些class,它们其实显式的实现了IDisposable.Close被设计成public的,并且在Close里面显式
2007-07-18 09:17:00 2234 1
原创 C++-必知必会_常量成员函数的含义(条款10)
/**//************************************************* * 常量成员函数的含义(成员函数 + const) * * 在类的 非 常量成员函数中,this指针类型是 X *const(指 * 针常量),而在 常量成员函数中,this指针类型是const X *const *
2007-07-16 23:04:00 2494
原创 C++-必知必会_类模板成员特化(条款48)
/**//************************************************* * 类模板成员特化 * * 再提醒一下,虽然模板的特化和类的派生之间没有任何关 * 系, 但在特化模板的时候,不妨借鉴一下派生的精神.也就意味 * 着一个完全特化或局部特化通常必须重新实现 主模板具备的 * 所有能力.*************
2007-07-16 21:18:00 1440
原创 PHP-常用代码片段
这是一些使用频率比较高的函数...... 1.产生随机字符串函数function random($length) { $hash = @#@#; $chars = @#ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789abcdefghijklmnopqrstuvwxyz@#; $max = strlen($chars) - 1; mt_srand((double)micr
2007-07-15 16:46:00 1155
原创 C++-必知必会_模板局部特化(条款47)
/**//*********************************************** * 模板局部特化 * * 首先要声明的是,C++还不支持对函数模板的局部特化, * 所以此处我们只讨论类模板的局部特化. * 我们依然首先需要一个主模板.(参考类模板显式特化) * 自我理解: * 如果针对不能的指针
2007-07-14 16:35:00 1753
原创 C++-必知必会_类模板显式特化(条款46)
/**//*********************************************** * 类模板显式特化(explicit specialization) * * 为了进行特化,首先需要一个通用的版本,称主模板. * 主模板使用了标准库堆算法. 堆 是一种线性化的树形 * 结构, 将一个值压入一个堆中, 实际上等于将该值插入到一
2007-07-14 13:37:00 1504
原创 C++-运算符重载
#include stdio.h>#include iostream.h>/**//*重载 -*/class myOperator...{private: int num;public: myOperator(int); int operator -(const myOperator&); //注意它的返回值 void Show();};myOperator::myOp
2007-07-12 21:32:00 1006
原创 C++-指针常量和常量指针
// 指针常量和常量指针//1)指针常量可以通过指针改变变量的值 Int x = 2; Int * const point = &x; *point = 4; //now x = 4 void main() ...{ char * const str = "china"; *str = "yangzhou"; // right 可以修改字符串的内容 str = "another";
2007-07-12 20:11:00 2995 1
原创 C#-二十五问总结
/**//*********************************************** * 静态变量 * 在所属类装载时被创建; * 通过类(注意,是类,不是类的对象)进行访问; * 自始自终只存在一个值.***********************************************/namespace 重要小知识点
2007-07-10 15:46:00 935
转载 C#-基础概念二十五问
C#基础概念二十五问 当初学 C# 时是找个人大概问了一下数据类型和分支语句就开始做项目了。这两天又全面的看了一下相关的基础知识(学而时习之嘛),总结了25个问题: 1.静态变量和非静态变量的区别? 2.const 和 static readonly 区别? 3.extern 是什么意思? 4.abstract 是什么意思? 5.internal 修饰符起什么作用? 6.sealed 修饰符
2007-07-05 14:24:00 1111
原创 C++-必知必会_数组形参(条款6)
/**//********************************************************************** *C++必知必会 条款6 *数组形参 * * C++中其实根本不存在“数组形参”,传入时,实质上只是传入指向其首元素的地址.(例1) *这种从数组到指针的自动转换被赋予了一个迷人的术语"退化".同样,一个函数型参数也会 *退化成指
2007-07-04 22:41:00 1027
原创 C#-接口
/**//********************************************************************** *接口 *接口成员的几个注意点: *1. 不能有静态成员; *2. 接口成员默认访问方式是public,但前面不能写任何修饰符. *3. 接口成员不能同名,如果是接口继续接口,可以对父接口中的方法重新声明,我们说接口 *
2007-07-04 15:42:00 1249
原创 C++-从实例谈OOP、工厂模式与重构
/**//************************************************** * 为了更好的理解OOP思想,我们先看一个例子(例1): *假设要设计一个媒体播放器,应播放器支持音频文件MP3和WAV**************************************************///例1namespace OOP思想...{ publ
2007-07-03 22:33:00 2607 2
原创 C++-必知必会_赋值和初始化并不相同(条款12)
/**//*********************************************************************** * C++必知必会 条款12 * 赋值和初始化并不相同 * * 赋值发生在你赋值时,除此之外,遇到所有其它的复制情形均为初始化.包括声明、函数返 * 回、 参数传递以及捕获异常中的初始化.*****************
2007-07-02 15:06:00 1151
原创 C++-模板
/**//**//**//*********************************************************************** *模板是一种参数化的类或函数,也就是
2007-07-02 08:32:00 1263
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人