work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2011年11月17日

摘要: C++匿名枚举的功能等价于静态常成员变量。也就是说结构体名::枚举变量名 = 3; //错误枚举变量名 = 3;//错误int x = 结构体名::枚举变量名//正确int x = 枚举变量名 //正确 阅读全文

posted @ 2011-11-17 17:35 work hard work smart 阅读(773) 评论(0) 推荐(0) 编辑

摘要: C++强大的背后转自:http://www.cnblogs.com/miloyip/archive/2010/09/17/1828449.html在31年前(1979年),一名刚获得博士学位的研究员,为了开发一个软件项目发明了一门新编程语言,该研究员名为Bjarne Stroustrup,该门语言则命名为——C with classes,四年后改称为C++。C++是一门通用编程语言,支持多种编程范式,包括过程式、面向对象(object-oriented programming, OP)、泛型(generic programming, GP),后来为泛型而设计的模版,被发现及证明是图灵完备的,. 阅读全文

posted @ 2011-11-17 16:39 work hard work smart 阅读(233) 评论(0) 推荐(0) 编辑

摘要: 字节长度,字节对齐以及类,对象的长度struct st { short num; float math_grade; float Chinese_grade; float sum_grade;};int _tmain(int argc, _TCHAR* argv[]){cout << " sizeof('$')= " << sizeof ( ' $ ' ) << endl; cout << " sizeof(1)= " << sizeof ( 1 ) <&l 阅读全文

posted @ 2011-11-17 16:15 work hard work smart 阅读(1288) 评论(0) 推荐(0) 编辑

摘要: int & *p; //不能建立指向引用的指针;int *a; int * & p=a; //正确,指针变量的引用引用和指针使用原则: 1.在可以用引用的情况下,不要用指针; 2.引用不允许重新赋值.,当使用一个变量指向不同的对象时,必须用指针; 3.引用不允许为空,当存在对象为空时,必须使用指针。引用说明: (1) double & rr=1; 等价与 double temp; temp=double(1); double & rr=temp; (2) int *a; int * & p=a; int b=8; p=&b; //正确,指针变量的 阅读全文

posted @ 2011-11-17 14:58 work hard work smart 阅读(897) 评论(0) 推荐(0) 编辑

摘要: // ----------------------------------------------- char * GetMemory2( void ){ char p[] = " hello world " ; return p;} void Test2( void ){ char * str = NULL; str = GetMemory2(); printf(str);} // ----------------------------------------------- void GetMemory3( char ** p, int nu... 阅读全文

posted @ 2011-11-17 14:05 work hard work smart 阅读(274) 评论(0) 推荐(0) 编辑

摘要: 1 、函数指针的定义int (*fp)(int a);//定义了一个指向函数的指针int *fp(int a);//错误,这是一个返回整形指针的函数了,而不是函数指针。int _tmain(int argc, _TCHAR* argv[]){ //////////////////////////////////////////////////////////////////////////Example1 cout << FuncTestMethod <<endl; //输出函数地址 int (*fPtr)(int i);//定义函数指针 fPtr = FuncTest 阅读全文

posted @ 2011-11-17 13:44 work hard work smart 阅读(277) 评论(0) 推荐(1) 编辑

摘要: 1. 一般常量 int const x=2; 或 const int x=2; 当然x也可是一个数组,如x[5];int可以被替换为是类名,x为对象名,此时常对象。 int如果被替换为char*,此时为常指针 如:char* constx 或 const char* x;常引用的格式为 const <类型说明符> & <引用名> 例如:const double & x;2、下面举一例子说明常指针作函数参数的作法。#include <iostream>using namespace std;const int N = 6;void print( 阅读全文

posted @ 2011-11-17 12:15 work hard work smart 阅读(207) 评论(0) 推荐(0) 编辑

摘要: ASSERT 和 _ASSERTE 头文件:用法 : _ASSERT( booleanExpression ); _ASSERTE( booleanExpression ); 解释 : 这两个宏具有更加丰富的调试功能。 阅读全文

posted @ 2011-11-17 10:09 work hard work smart 阅读(937) 评论(0) 推荐(0) 编辑

摘要: C++字符串完全指引之一 —— Win32 字符编码原著:Michael Dunn翻译:Chengjie Sun原文出处:CodeProject:The Complete Guide to C++ Strings, Part I 引言 毫无疑问,我们都看到过像 TCHAR, std::string, BSTR 等各种各样的字符串类型,还有那些以 _tcs 开头的奇怪的宏。你也许正在盯着显示器发愁。本指引将总结引进各种字符类型的目的,展示一些简单的用法,并告诉您在必要时,如何实现各种字符串类型之间的转换。 在第一部分,我们将介绍3种字符编码类型。了解各种编码模式的工作方式是很重要的事情。... 阅读全文

posted @ 2011-11-17 09:39 work hard work smart 阅读(231) 评论(1) 推荐(0) 编辑

2011年11月16日

摘要: 1、tlb、tlh和tli文件tlb文件:com类型库文件。在需要使用对应com类的模块里,“#import ...*.tlb”使用之。tlh、tli文件:他们是vc++编译器解析tlb文件生成的标准c++文件。因为odl和tlb并不是C++标准的东东,有必要把它们翻译成标准的C++类型,使得C++开发者可以使用。相信vb和j++也会把tlb翻译成自己语言兼容的类型描述信息。tlh相当于类型申明(头文件),tli相当于定义实现(CPP文件)。备注一个重要的相关问题: 在VC下#import "A.tlb" no_namespace named_guids;编译后产生A.tl 阅读全文

posted @ 2011-11-16 17:22 work hard work smart 阅读(3597) 评论(0) 推荐(0) 编辑

摘要: AFX_MANAGE_STATE(AfxGetStaticModuleState())的作用:用于模块切换时的状态保护,1.AfxGetStaticModuleState()指向当前模块状态;2.当前函数调用结束后原模块的状态自动被恢复;3.用于DLL中所调用MFC函数、类、资源时的模块状态切换;[MSDN]By default, MFC uses the resource handle of the main application to load the resource template. If you have an exported function in a DLL, such a 阅读全文

posted @ 2011-11-16 15:37 work hard work smart 阅读(13075) 评论(1) 推荐(0) 编辑

摘要: 一、extern "c "的作用:用来告诉编译器,该函数是用C语言编写的. 二、以下几种使用方式:1.extern "c " void exit(int)//包含c语言中编写的exit函数. 2.extern "c "{ int printf(const char* ....); int scanf(char *...) ; ....}//包含c语言中编写的一组函数. 3.extern "c "{#include <cmath> }包含标准c库中的函数.三、补充1,extern可以置于变量声明前;2,e 阅读全文

posted @ 2011-11-16 15:28 work hard work smart 阅读(332) 评论(0) 推荐(0) 编辑

摘要: 在编程时,也许你会看到函数声明或定义中会出现CALLBACK和WINAPI两个宏。其实,它们也是__stdcall的代名词。看windef.h中的内容:#define CALLBACK __stdcall#define WINAPI __stdcall__stdcall是调用类型.调用类型有:__fastcall、__cdecl、__stdcall。1、__cdecl调用类型: 这是C的调用规则。对于所有非C++成员函数或未标有__stdcall或__fastcall的函数来说,这是默认调用规则。2、__fastcall调用类型:这是一种快速调用。因为CPU的寄存器会被使用来存放函数参数列表. 阅读全文

posted @ 2011-11-16 15:21 work hard work smart 阅读(1125) 评论(1) 推荐(2) 编辑

摘要: 为了避免同一个文件被include多次,可以使用以下两种方式1 #ifndef方式 2 #pragma once方式方式一: #ifndef __SOMEFILE_H__ #define __SOMEFILE_H__ ... ... // 一些声明语句 #endif方式二: #pragma once ... ... // 一些声明语句 包含pragma once语句的文件只会被编译一次。 表示在编译的时候, 这个文件只被包含(include)一次。这样, 可以减少整个编译过程中打开这个文件的次数 参考:http://www.cnblogs.com/figo/archive/20... 阅读全文

posted @ 2011-11-16 15:06 work hard work smart 阅读(830) 评论(0) 推荐(0) 编辑

2011年11月15日

摘要: 1、WPF 使用Code创建Canvas2、WPF 使用Code创建StackPanel3 WPF 使用Code创建DockPanel4 WPF 使用Code创建Grid其它的控件还有Border,UniformGrid,ViewBox,WrapPanel等原理都是一样的。略. 阅读全文

posted @ 2011-11-15 10:53 work hard work smart 阅读(1113) 评论(0) 推荐(1) 编辑

2011年11月14日

摘要: 1、怎样在WPF中使用Windows窗体控件(如水晶报表)我们可以使用WindowsFormsHost元素在WPF中载入一个Windows Forms控件,下面的这个例子展示了如何载入一个CrystalReportViewer元素:<Window x:Class="ForumProjects.MainWindow" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/200 阅读全文

posted @ 2011-11-14 15:46 work hard work smart 阅读(531) 评论(0) 推荐(0) 编辑

摘要: 1、不同于Windows Forms,当前WPF版本没有提供一个直接的方法可以把TreeView控件所有的节点都展开。一般来说,在WPF中有两种方法可以实现这个功能。第一种方法就像下面例子一样使用样式展开所有节点:<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="ControlTest2.TreeViewTest&q 阅读全文

posted @ 2011-11-14 15:45 work hard work smart 阅读(3744) 评论(1) 推荐(1) 编辑

摘要: WPF没有像ASP.NET提供一个RadioButtonList的控件。幸运的是,我们可以利用WPF样式和模板的强大功能,用纯粹的XAML代码实现这个功能<Window x:Class="ControlTest2.ListBoxTest2" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespa 阅读全文

posted @ 2011-11-14 15:45 work hard work smart 阅读(3840) 评论(0) 推荐(0) 编辑

2011年11月12日

摘要: ——工欲善其事必先利其器引言本系列适合0基础的人员,因为我就是从0开始的,此系列记录我步入Android开发的一些经验分享,望与君共勉!作为Android队伍中的一个新人的我,如果有什么不对的地方,还望不吝赐教。在开始Android开发之旅启动之前,首先要搭建环境,然后创建一个简单的HelloWorld。本文的主题如下:1、环境搭建1.1、JDK安装1.2、Eclipse安装1.3、Android SDK安装1.4、ADT安装1.5、创建AVD2、HelloWorld1、环境搭建1.1、JDK安装如果你还没有JDK的话,可以去这里下载,接下来的工作就是安装提示一步一步走。设置环境变量步骤如下: 阅读全文

posted @ 2011-11-12 21:37 work hard work smart 阅读(185) 评论(0) 推荐(0) 编辑

摘要: 源地址:http://www.cnblogs.com/zhangdongzi/archive/2011/08/26/2155173.html上一节中已经介绍了WP7项目组织结构,那么现在就让我们来进行实际开发吧,本来打算写一个helloworld的,但是这未免太对不起观众了,于是就改成做个登陆的例子,当然这个登陆例子我们暂时不连接远程服务,就在文件中写死吧,以后讲到远程服务的时候必然会使用到的,这个登陆例子也可以作为后续开发使用。 一:新建一个Window phone application项目。 因为我们是需要做登陆,那么必定是有用户账号,密码的,那么就建立一个类UerInfo.cs ,添加 阅读全文

posted @ 2011-11-12 21:18 work hard work smart 阅读(200) 评论(0) 推荐(0) 编辑