摘要:什么是结构体? 简单的来说,结构体就是一个可以包含不同数据类型的一个结构,它是一种可以自己定义的数据类型,它的特点和数组主要有两点不同,首先结构体可以在一个结构中声明不同的数据类型,第二相同结构的结构体变量是可以相互赋值的,而数组是做不到的,因为数组是单一数据类型的数据集合,它本身不是数据类型(而结构体是),数组名称是常量指针,所以不可以做为左值进行运算,所以数组之间就不能通过数组名称相互复制了,即使数据类型和数组大小完全相同。 定义结构体使用struct修饰符,例如: C++ 代码struct test { float a; int b; }; 上面的代码就定义了一个名为tes...
阅读全文
05 2012 档案
摘要:在编写个人函数的时候,你将会受到C++中的一条基本的原则的限制:在默认的情况下,变量只能以值传递的方式传递给函数。这句话的意思是:被传递到函数的只是变量的值,永远不是变量的本身。例如:[cpp] view plaincopyprint?voidchangeVar(intmyVar,intnewValue){myVar=newValue;}intmain(){intmyNum=20;changeVar(myNum,90);std::cout<<myNum<<endl;return0;}void changeVar(int myVar,int newValue){ myVa
阅读全文
摘要:演练:创建和使用动态链接库在本演练中,您将创建一个动态链接库 (DLL),其中包含可供其他应用程序使用的有用例程。使用 DLL 是一种重用代码的绝佳方式。您不必在自己创建的每个程序中重新实现这些例程,而只需对这些例程编写一次,然后从需要该功能的应用程序引用它们即可。本演练使用本机 C++。有关使用本机 C++ 创建静态库的演练,请参见演练:创建和使用静态库。有关使用面向公共语言运行库的 Visual C++ 的演练,请参见演练:创建和使用托管程序集。本演练涵盖以下内容:创建新的动态链接库 (DLL) 项目向动态链接库添加类创建引用动态链接库的应用程序在控制台应用程序中使用类库的功能运行应用程序
阅读全文
摘要:设置VS2008和IE8 调试ATL控件VS2008设置篇:设置VS2008 通过IE8 调试ATL的ActiveX控件的步骤如下:(1)设置项目属性通过菜单项 “项目—》你的项目属性”如下图:(2)在弹出的属性页对话框中选中“配置属性—》调试”,在右边填入下列参数:命令:C:\Program Files\Internet Explorer\iexplore.exe(你的IE8执行文件位置)工作目录:$(InputDir)FileUploader.htm(其中FileUploader.htm更换成VS为你生成的Html文件名。附加:否。(指示调试器不要附加现有IE进程,而是新建一个)其它选项采
阅读全文
摘要:说明 $(RemoteMachine)设置为“调试”属性页上“远程计算机”属性的值。有关更多信息,请参见更改用于 C/C++ 调试配置的项目设置。$(References)以分号分隔的引用列表被添加到项目中。$(ConfigurationName)当前项目配置的名称(例如“Debug”)。$(PlatformName)当前项目平台的名称(例如“Win32”)。$(Inherit)指定在由项目生成系统所撰写的命令行中,继承的属性出现的顺序。默认情况下,继承的属性出现在当前属性的末尾。$(NoInherit)使任何将被继承的属性不被继承。若还要避免同级级别的计算,请使用$(StopEvaluati
阅读全文
摘要:链接的 onclick 事件被先执行,其次是 href 属性下的动作(页面跳转,或 javascript 伪链接); 假设链接中同时存在 href 与 onclick,如果想让 href 属性下的动作不执行,onclick 必须得到一个 false 的返回值。不信,你可以将 goGoogle 函数中的 return false 注释掉; 如果页面过长有滚动条,且希望通过链接的 onclick 事件执行操作。应将它的 href 属性设为 javascript:void(0);,而不要是 #,这可以防止不必要的页面跳动; 如果在链接的 href 属性中调用一个有返回值的函数,当前页面的内容将被此函
阅读全文
摘要:用 jQuery 的都知道,jQuery 的 get 和 post 方法有三个参数:地址,数据 和 回调函数,但我们知道地址也可以跟随数据的(形如:get_data.php?v1=1&v2=2),而且第二个参数可以省略,即第二个参数可以直接写回调函数,那么数据写在地址后面和写在 data 参数里有什么区别呢?-刚刚做了几个实验,看看下面的代码就清楚了: 以下内容需要回复才能看到 jquery_data.php 复制代码 代码如下:<?php echo "post: "; print_r($_POST); echo "get: "; prin
阅读全文
摘要:首先讲解一下js中preventDefault和stopPropagation两个方法的区别: preventDefault方法的起什么作用呢?我们知道比如<a href="http://www.baidu.com/">百度</a>,这是html中最基础的东西,起的作用就是点击百度链接到http://www.baidu.com/,这是属于<a>标签的默认行为,而preventDefault方法就是可以阻止它的默认行为的发生而发生其他的事情。看一段代码大家就明白了: <!DOCTYPE html PUBLIC "-//W3C
阅读全文
摘要:在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate,至于委托的本质请参考我的另一随笔: 一、为什么Control类提供了Invoke和BeginInvoke机制?关于这个问题的最主要的原因已经是dotnet程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己。1、windows程序消息机制Windows GUI程序是基于消息机制的,有个主线程维护着一个消息泵。这个消息泵让windows程序生生不息。 Windows GUI程序的消息循环 Windows程序有个消息队列,窗体上的所有消息是这个队列里面消息的最主要来源。这里的while循环使
阅读全文
摘要:开发语言:C#3.0IDE:Visual Studio 2008本系列教程主要包括如下内容:1. BeginInvoke和EndInvoke方法2. Thread类3.线程池4.线程同步基础5.死锁6.线程同步的7种方法7.如何在线程中访问GUI组件一、线程概述在操作系统中一个进程至少要包含一个线程,然后,在某些时候需要在同一个进程中同时执行多项任务,或是为了提供程序的性能,将要执行的任务分解成多个子任务执行。这就需要在同一个进程中开启多个线程。我们使用C#编写一个应用程序(控制台或桌面程序都可以),然后运行这个程序,并打开windows任务管理器,这时我们就会看到这个应用程序中所含有的线程数
阅读全文
摘要:using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { Console.WriteLine("Main ThreadId = " + Thread.CurrentThread.ManagedThreadId); //给委托赋值 Func<long
阅读全文
摘要:之前,我已经说过了BeginInvoke与Invoke的异同这里就要再来说说endinvoke的意思了我们知道 beginvoke就是通过线程的调用来异步的完成一些工作。一般只需要启动它就好,让它一直操作着。例如 用begininvoke修改界面显示,那么就是每次有所变化时它自动的改变界面的显示,因为它在后台执行着。但是有时候我们需要知道它的结束信息,并且在结束时还有所安排。这时候就需要endinvoke了先来看看,begininvoke的返回值类型:1: public interface IAsyncResult 2: { 3: object AsyncState { get...
阅读全文