
C++
BadgeZ
越努力,越幸运。
展开
-
指针二次理解(第二篇)
一、 指针作为函数的参数1. 使用指针作为参数,可以实现两种功能:可以读取上一层函数中的变量的值 *p可以修改上一层函数中的变量的值 *p(普通函数无法做到)①代码时间#include void test(int* p) //把一个内存地址传给一个函数{ //使用星号操作*p,来读写内存原创 2016-10-09 18:00:09 · 364 阅读 · 0 评论 -
分治算法
问题描述在一个2k×2k 个方格组成的棋盘中,恰有一个方格与其它方格不同,称该方格为一特殊方格,且称该棋盘为一特殊棋盘。在棋盘覆盖问题中,要用图示的L型骨牌覆盖给定的特殊棋盘上除特殊方格以外的所有方格,且任何2个L型骨牌不得重叠覆盖。解题思路分析:当k>0时,将2k×2k棋盘分割为4个2k-1×2k-1 子棋盘(a)所示。特殊方格必位于4个较小子棋盘之一中,其余3个子棋盘中无特殊方原创 2017-04-30 20:26:56 · 825 阅读 · 0 评论 -
递归算法
问题描述设计一个递归算法生成n个元素{r1,r2,…,rn}的全排列。设R={r1,r2,…,rn}是要进行排列的n个元素,Ri=R-{ri}。集合X中元素的全排列记为perm(X)。(ri)perm(X)表示在全排列perm(X)的每一个排列前加上前缀得到的排列。R的全排列可归纳定义如下: 当n=1时,perm(R)=(r),其中r是R中唯一的元素;当n>1时,perm(原创 2017-04-30 20:22:16 · 506 阅读 · 0 评论 -
byte&char
char转化为byte: public static byte[] charToByte(char c) { byte[] b = new byte[2]; b[0] = (byte) ((c & 0xFF00) >> 8); b[1] = (byte) (c & 0xFF); return b; }原创 2017-03-14 10:41:09 · 344 阅读 · 0 评论 -
为什么C++需要静态成员
为什么C++需要静态成员?有时需要为某各类的所有对象分配一个单一的存储空间。在C语言中,可以使用全局变量,但这样很不安全。全局数据可以被任何人修改,而且,在一个大项目中,它很容易与其他的名字相冲突。如果可以把一个数据当成全局变量那样去存储,但又被隐藏在类的内部,并且清楚地与这个类相联系,这种处理方法当然是最理想的了。这一点可以用类的静态数据成员来实现。原创 2017-01-10 22:07:25 · 641 阅读 · 0 评论 -
静态成员
一、静态成员的特点:(1)static数据成员在类的内部声明,但只能在类的外部定义,在类的外部不能指定static,在类的定义时候进行初始化;(2)static数据成员只能在类的外部进行初始化(特例:当整型const static数据成员被常量表达式初始化时,就可以在类的内部进行初始化,但还需要在外部进行定义)。(3) static数据成员可以是该成员所属的类类型,而非原创 2017-01-10 21:25:54 · 601 阅读 · 0 评论 -
OCX控件ID对应关系的梳理
OCX的GUID对应关系梳理1. 注册表中的GUID{E0307BD0-8F81-4215-B33F-C468DDBF5C7C}2. OCX项目中的GUID1) xxxx.odl文件中: [uuid(E0307BD0-8F81-4215-B33F-C468DDBF5C7C), helpstring("ResOcxTest2 Con原创 2017-01-06 22:44:34 · 2882 阅读 · 0 评论 -
MFC CTreeView学习之右键菜单_获取选中节点的方式HitTest和GetSelectedItem的区别(二)
CPoint pt;UINT nFlags;GetCursorPos(&pt);::ScreenToClient(m_TreeCtrl->m_hWnd, &pt);HTREEITEM hItem2 = m_TreeCtrl->HitTest(pt, &nFlags); //获取选中节点 注:此处获取的是当前选中的节点CString sMsg;sMsg.Format(_原创 2017-01-04 22:47:44 · 3014 阅读 · 0 评论 -
map查找 异常处理
//map查找 异常处理map::iterator it2 = map2.find(100);if (it2 == map2.end()){AfxMessageBox(_T("KEY 100 的值不存在"));}else{int n = it2->first;CString str;str = it2->second.c_str();}//e原创 2016-12-13 22:53:37 · 1053 阅读 · 0 评论 -
stl中map的使用总结
一、基本操作//创建map map2;//添加map2.insert(pair(11, "test11"));map2.insert(pair(12, "test12"));map2.insert(make_pair(13, "test13"));map2.insert(make_pair(14, "test14"));map2.insert(m原创 2016-12-13 22:31:20 · 905 阅读 · 0 评论 -
VC6.0在Realse版本下调试,需设置如下
VC6.0在Realse版本下调试,需设置如下1.进入 Project Settings2.选择C/C++选项栏设置Debug info下拉选项框为 Program Database for Edit and Continue3.再次选择Link选项栏勾选Generate debug info 和 Link incrementally(逐渐地)原创 2016-12-05 20:38:50 · 792 阅读 · 0 评论 -
C++中使用string引用头文件
using namespace std;#include原创 2016-10-09 17:59:34 · 3360 阅读 · 0 评论 -
C#中using的一个用法
C#中using除了应用DLL之外,还可以用于及时释放资源如: using (SqlConnection connection = new SqlConnection(ConnStr[0])) { }using 作用是即时释放资源,括号结束后(或者出现异常报错),using括号内实例化的对象都会执行Dispose方法销毁。原创 2016-10-09 17:59:54 · 358 阅读 · 0 评论 -
指针二次理解(第三篇)如何安全的使用指针
五、 如何安全的使用指针指针不可乱用安全的使用指针需要对指针有足够清楚的认识使用指针之前,一定要弄清楚两个问题: 1.这个指针指向了哪里?指针只允许指向两个地方1) 指向了变量、数组代码走起int n;int* p = &n; //p指向的内存:一个变量int arr[4];int*原创 2016-10-09 17:59:59 · 304 阅读 · 0 评论 -
指针二次理解(第一篇)
指针二次理解一、 指针的定义与基本用法1. 变量与内存1) 内存用于存储数据,最小单元是字节(8bit),每个单元都有一个编号(即地址:0x00000000 ----0xFFFFFFFF)2) 变量有大小(sizeof操作符,int大小是4bit),变量的大小是指它在内存中占了几个字节3)原创 2016-10-09 18:00:07 · 779 阅读 · 0 评论 -
JAVA JNI生成C++头文件
使用实例:当前CMD所处目录E:\javaPro\JNITest\src特别注意:-classpath后面空格( . )空格-jni包名.包名.类名原创 2017-07-25 22:22:13 · 579 阅读 · 0 评论