山外青山,楼外楼。
WORD:16位无符号整形数据 DWORD:32字节无符号整型数据(DWORD32) DWORD64:64字节无符号整型数据 INT:32位有符号整型数据类型 INT_PTR:指向INT数据类型的指针类型 INT32:32位符号整型 INT64:64...
友元类所有的方法都可以访问原始类的私有成员和保护成员 声明 friend class ClassName 友元声明可以位于公有、私有或保护部分,其所在的位置无关紧要。由于Remote类提到了Tv类, 所以编译器必须了解Tv类后才能处理Remote类,为些最简单的方法是首先定义Tv类。
非模板友元 声明一个常规友元 template class HasFriend { public: friend void counts(); } 上边的声明使counts()函数成为模板所有实例化的友元 counts()函数不是通过对象调用的(它是友元,不是成员函数),也没有对象参数,那么它如何访问HasFriend对象的呢 有很多种可能性。
介绍LINQ基础之前,首说一下LINQ 的历史和LINQ是什么,然后说一下学习 LINQ要了解的东西和 LINQ基础语法 LINQ 的历史 从语言方面的进化 –委托 –匿名方法 –Lambda表达式 –Linq查询表达式 上边这四个我会在下边一一解说 从时间方面的演进 –2004年 –2005年9月,C#2.
如果一个类从两个不同的类里继承两个同名的成员,则需要在派生类中使用类限定符来区分他们。 即在从A和B派生出来的c类中使用a::Show()和B::Show()来区分从这两个类那里继承的show()方法 如果一个类通过多种途径继承了一个非虚基类,则该类从每种途径分别继承非虚基类的一个实例。
》在基类方法声明中使用关键字virtual,可以使该方法在基类及所有的派生类中是虚的 》如果使用指向对象的引用或指针来调用虚方法,程序将使用对象类型定义的方法,而不使用为引用或指针类型定义的方法 这称为动态联编或晚期联编,这种行为非常重要,因为这样基类指针或引用可以指向派生类对象 》如果定义的类将被用作基类,则将那些要在派生类中重新定义的类方法声明为虚的。
1.不要返回指向局部变量或临时对象的引用。函数执行完毕后,局部变量和临时对象会消失,引用将指向不存在的数据 2.返回指向const对象的引用 使用const引用的常见原因是旨在提高效率,但对于何时采用这种方式存在一些限制。
在一个类里每个成员函数都有一个this指针。this指针指向调用对象。如果方法需要引用整个调用 对象可以使用*this。this是对象的地址,而不是对象本身。 *this是对象本身。可以将*this 作为调用对象的别名 Stock::Stock(const std::string &name) { this->m_company=name; (*this).
using 声明和using 编译指令 using 声明将特定的名称添加到它所属的声明区域中。 using std::cout; 将cout添加到声明区中,声明扣可以用cout
c++为静态存储持续性变量提供了3种链接性: 外部链接性(可在其他文件中访问) 内部链接性(只能在当前文件中访问) 无链接性(别有用心能在当前函数或代码中访问) 如果没有显示的初始化静态变量会把它设置为0 要创建链接性为外部的静态持续变量,必须在代码块外面声明它 要创建链接性为内部的静态...
数组就是一组元素的内存位置,各个内存位置可以存储相同数据类型的数据项,而我们可以用相同的变量名引用所有的内存地址 初始化数组 int myA[5]={1,2,3,4,5}; 也可以这样 int myA[5]={1,2,3} ; //这样前3个值是有初始值的,后2个是默认值0 也可以为...
可以将程序分为二部分: 头文件:包含结构声明和使用这些结构的函数的原型 源代码文件: 包含与结构有关的函数的代码 不要将函数的定义或变量的声明放在头文件里, 一般头文件可以包含以下内容 >函数原型 >使用#define或const定义的符号常量 >结构声明 >类声明 >模板声明 >内联函数 在包含头文件时我们使用 #include "head.
primer Plus在解释具体化和实例化看的有点乱,分解出来备忘 在代码中包含函数模板本身并不会生成函数定义,它只是用于生成函数定义的方案 编译器使用模板为我写类型生成函数定义时,得到的是模板实例 如这个模板 template void Swap(T &t1,T &t2) { ...
函数指针 可以使用算法的地址传递给方法,传递之前要先完成以下工作 1.获取函数的地址 2.声明一个函数指针 3.使用函数指针来调用函数 1.获取函数的地址,只要使用函数名就可以 Fun2(Fun1); Fun2就可以在程序内部调用Fun1()函数 2.声明函数指针 声明时一定要指定指针指向的类型。
指针:是说指针名表示的是地址。是一个变量,存储的是值的地址,而不是值本身 *运算符被称为间接值或解除引用运算符也可以叫做取地址符 声明一个指针 int * p_data; * p_data的类型为int 由于*运算符被用于指针,因此p_data变量本身必须是指针。
开发环境是Vs 2012 Framework 4.0 源码和制作工具在文章最下边 一. ActiveX控件Demo 新建一个Window窗体控件库项目 在自动生成的UserControl1页面上添加一个button 点击事件里我们只弹出一个MesageBox ...
在这里我向大家推荐的一个具是LinqPad有了这个工具并熟练使用就可以很快学习并掌握linq linqPad下载地址:http://www.linqpad.net/ 它也自带了很多例子方便大家查询,linqPad支持object ,xml,sql , to linq这里我只讲一下sql to ...
Caliburn.Micro学习笔记目录 今天说一下协同IResult 看一下IResult接口 /// /// Allows custom code to execute after the return of a action.
Caliburn.Micro学习笔记目录 说一下IHandle实现多语言功能 因为Caliburn.Micro是基于MvvM的UI与codebehind分离, binding可以是双向的所以我们想动态的实现多语言切换很是方便今天我做一个小demo给大家提供一个思路 先看一下效果 ...
Caliburn.Micro学习笔记目录 今天 说一下Caliburn.Micro的IEventAggregator和IHandle分成两篇去讲这一篇写一个简单的例子 看一它的的实现和源码 下一篇用它们做一个多语言的demo 这两个是事件的订阅和广播,很强大,但用的时候要小心发生不必要的冲突。
想利用业余时间学习一下java 装好sdk和Eclipse 后写个小程序 发现它的智能提示真不敢恭维 要按 alt+/ 才能出来 但是感觉一个好不ide不能是这样的后来查了一下资料发现是我错了 下面就来设置一下Eclipse的智能提示让它和visual studio 一样好用 打开 W...
Caliburn.Micro学习笔记目录 上一篇已经简单说了一下引导类和简单的控件绑定 我的上一个例子里的button自动匹配到ViewModel事件你一定感觉很好玩吧 今天说一下它的Actions,看一下Caliburn.
这个功能之前用wpf写过一次这次用Silverlight写一次 这两种写法上基本上没有太大的差别 这个Demo并不完美,只是给大家提供一个思路 源码:SilverLightListPricture.
silverlight的一些功能真让我感到惊奇 就拿双击事件来说一下 写一个简单的例子 后台代码 private void MouseDoubleEvent(object sender, MouseButtonEventArgs e) { if (e.
之前一直做WPF现在开始接触Slilverlight感触很多。 今天做一个Button要求 有两个图片,button默认有一个图片,鼠标over时用另一个图片, 用wpf做的时候写一个template很简单,但silverlight和wpf写起来不一样 记录一下。
Caliburn.Micro学习笔记目录 用了几天时间看了一下开源框架Caliburn.Micro 这是他源码的地址http://caliburnmicro.codeplex.com/ 文档也写的很详细,自己在看它的文档和代码时写了一些demo和笔记,还有它实现的原理记录一下 学习Caliburn.Micro要有MEF和MVVM的基础 先说一下他的命名规则和引导类 以后我会把Caliburn.Micro的 Actions IResult,IHandle IConductor ,Conductor 这些常用功能写下来。
用Outlook时最让我感觉不爽的就是不小心点了关闭按钮就会把Outlook关闭。 我们用软件的时候都希望软件有一个关闭时最小化功能,更希望Outlook也有这个功能 但让我很失望的是把设置里看了一个遍也没找到这个设置,在国外的一个网站上看到了一个com组件 可以让Outlook关闭时最小化给...
很简单的一个wpf键盘记录器 这个程序我一样用了全局勾子,之前用的都是winform上运行了,前一段时间 在国外的论坛上逛看到了一个wpf能用的就做了一个小程序记录一下,为了方便大家直关的看我在页面上放了一个textbox, 用的时候不会这样一般都是保存到一个文本里呵呵不能做坏事 有三个主要的类 /// /// Raw keyevent handler.
做项目的时候根据需求,WPF现有的控件不能完全满足我们的需求, 很多时候我们需要对现有的控件做一下加工。 最简单的我们可能会把Tree转换成List形式有的叫Grid形式就像下图一样 今天我先做一个完全用样式加工的例子,有时间我再把它做深加工写成一下通能形式 我们要先把treeView重...
河内之塔(Towers of Hanoi)是法国人M.Claus(Lucas)于1883年从泰国带至法国的,河内为越战时北越的首都,即现在的胡志明市;1883年法国数学家Edouard Lucas曾提及这个故事,据说创世 纪时Benares有一座波罗教塔,是由三支钻石棒(Pag)所支撑,开始时神在第一根棒上放置64个由上至下依由小至大排列的金盘(Disc),并命令僧侣将所有的金盘从第一根石棒移至第三根 石棒,且搬运过程中遵守大盘子在小盘子之下的原则,若每日仅搬一个盘子,则当盘子全数搬运完毕之时,此塔将毁损,而也就是世界末日来临之时。
二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。 二分查找法是已经排好顺序的集合,要从集合的中间开始查找,如果这个项小于我们要查找的数,则这个项前边的所有数都小于我们要查找的对象 就无需再浪费时间去查在前边的数查找;如果搜寻的数天于我们要查找的对象那么这个数的后边的数都大于我们要查找的对象,则后边的数我们也不用再去查找了。
指针数组 :就是指针的数组,数组的元素是指针; 数组指针:就是指向数组的指针。简单举例说明: int *p1[10]; 声明了一个数组,数组的元素是int型的指针。 int (*p2)[10]; 声明了一个指针, 指向了一个有十个int元素的数组。
有的时候我们要从数据库里把数据组织成树结构再展现到页面上 像下面这样 今天我们用Group 和Grouping实现它,并总结一下它俩。 先看一下概念,再用代码一点一点去理解它们,最后我会给出完整的代码 Group By : 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
今天详细说一下ManualResetEvent 它可以通知一个或多个正在等待的线程已发生事件,允许线程通过发信号互相通信,来控制线程是否可心访问资源 当一个线程开始一个活动(此活动必须完成后,其他线程才能开始)时,它调用 Reset 以将 ManualResetEvent 置于非终止状态。
整理一下级联更新和删除 c#调用返回值 use master go IF exists(select 1 from sysdatabases where name='temp') BEGIN DROP DATABASE temp END create database ...
整理了一下常用的user32API说明 还有软件Microsoft Spy++供大家下载 Spyv10.00.30319.rar using System; using System.Collections.
当我们用MVVM的时候要实现INotifyPropertyChanged,如果你是基于.net4.5以下的framework(.net4.5已有新特性我这里就不说了) 你很可能会这么写 public class MyModel : INotifyPropertyChanged {...
public class UIHelper { /// /// 在Visual里找到想要的元素 /// childName可为空,不为空就按名字找 /// public static ...
整理了一下表达式树的一些东西,入门足够了 先从ConstantExpression 开始一步一步的来吧 它表示具有常量值的表达式 我们选建一个控制台应用程序 ConstantExpression _constExp = Expression.
今天有点时间,做个小例子WPF MVVM 实现TreeView 只是一个思路大家可以自由扩展 文章最后给出了源码下载地址 图1 图2 模版加上了一个checkbox,选中父类的checkbox 所有的子类也相就选中。
在我们做项目的时候会经常用到线程,但线程也不是万能的,用线程需要注意的东西也很多,自己做了一下总结 这次总结主要说三个部分 1 线程之委托方法 2 给线程传参 3 三种方法控制线程同步 我们先看一下小例子: using System; using System.
之前写的模式帖子: 设计模式系列目录 今天说一下适配器模式:将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间 感觉这是一个很好理解的模式,也是我们很常见的一个模式,比如我们连数据库的时候,用一个DataTable或DataSet存放取出来的数据, 我们是怎...
之前都是用别人的颜色拾取器,今天自己用WPF写了一个颜色拾取器小程序 拾取鼠标所在位置的颜色,按键盘上的空格键停止取色 程序下载:MyWPFScreenColorE.rar 程序里面有一个全局的勾子实现键盘的按下事件停止拾取(有全局勾子可能会报毒 勾子总被用于木马 现在的杀软对勾子很警惕 ) 但是我还没有好的办法不用勾子去实现停止拾取,如果看到帖子的人有好的办法请指点一下,谢谢。
之前写的模式帖子: 设计模式系列目录 今天说一下命令模式 命令模式 将请求封装成对象,以便使用不同的请求、队列或者日志来参数化其它对象。命令模式也支持可撤销的操作。这样将“行为请求者”与“行为实现者”解耦,实现松耦合 我们来看一个类图 电视机遥控器就是一个典型的命令模式应用实例: 电视机是请求的接收者,遥控器是请求的发送者,遥控器上有一些按钮,不同的按钮对应电视机的不同操作。
之前写的模式帖子: 设计模式系列目录 今天说一下抽象工厂模式:提供一个接口,用于创建相关或依赖对象的家族,而不需要明确指定具体类。 抽象工厂允许客户使用抽象的接口来创建一组相关的产品,而不需要知道实际产出的具体产品是什么,这样一来,客户就从具体的产品中被解耦 我之前说过设计模式:工厂方法模...
之前的设计模式帖子 设计模式系列目录 今天说一下策略模式:定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户 换句话说策略模式,是指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法,比如吃东西的行为,有的人喜欢狼吞虎咽,有的人 喜欢细嚼慢咽,有的人喜欢边吃边说 策略模式的重心不是如何实现算法,而是如何组织、调用这些算法,从而让程序结构更灵活,具有更好的维护性和扩展性。
之前写了 设计模式系列目录 今天说一下工厂方法模式: 定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类 所谓的决定并不是批模式允许子类本身在运行时做决定,而是指在编写创建者类时,不需知道创建的产品是哪一下,选择了使用 哪个子类,就决定了实际创建的产品是什么。
设计模式系列目录 今天介绍另一种模式 观察者模式是我们经常用的一个模式,比如在用wcf做服务的时候通知客户端做一些操作一般用设计者模式。 今天做一个订报纸的小例子来理解一下观察者模式 出版者+订阅者=观察者模式 用下边的图来说就是 人民日报+订阅者=观察者模式 只要是订阅了人民日报的人,有了新报纸就会送到订阅者那里去, 当你不想订的时候取消就不订阅就不会再收到报纸了。
有好多.net程序有加密狗或者有验证,如果exe或dll没有做过特殊处理,破解.net程序其实很简单,不过你要有足够的耐心! 我只做个简单的小例子,给大家一个思路,吼吼~~~~ 1使用工具 Reflector.
库是否存在 if exists(select * from master..sysdatabases where name=N'库名') print 'exists' else print 'not exists' --------------- -- 判断要创建的表名是否存在 if exists (select * from dbo.