- 博客(39)
- 收藏
- 关注
转载 C# 事件和委托的区别及实现机制
区别:https://www.cnblogs.com/lilin123/archive/2012/12/20/2826514.html事件机制:http://blog.sina.com.cn/s/blog_6df270680101c7cp.html
2018-11-10 11:35:47
2044
转载 C# 委托初始化
原文链接:https://www.cnblogs.com/OpenCoder/archive/2009/09/23/1572646.html使用+=时,如果委托还没有实例化(委托实例为null),它会自动用+=右边的函数实例化委托如果此时委托已经实例化,它会只把+=右边的函数注册到委托实例上另外有一点需要注意的是,如果对注册了函数的委托实例从新使用=号赋值,相当于是重新实例化了委托,之前在...
2018-11-10 10:39:41
1173
原创 C++ 类对象数组初始化
如何给类中定义了带有参数的构造函数的对象数组赋值class A{public: A(){}//无参构造函数0 A(int i){}//有参构造函数1 A(int i,int j){}//有参构造函数2};int main(){ A a,b[5];//调用6次无参构造函数,若定义了1,2,没有定义0会出错 A c(1),d[2] = {1,A...
2018-11-02 21:13:24
21473
2
原创 C++ 构造函数
构造函数前不能有void修饰,但参数可以有voidclass A{public: A(void){}//合法 void A(){}//不合法}:
2018-11-02 17:31:49
249
原创 单向链表反转,k个一组
有链表1 2 3 4 5 6 7 8 ,3个一组反转结果:3 2 1 6 5 4 8 7Node* KNodeReverse(Node* root,int k){ Node *cur,*pre,*next;//必须有三个临时指针,因为cur需要知道连接的对象,同时不丢失它的下个对象 cur = root; pre = nullptr; Node* revRoot = new No...
2018-11-01 16:02:26
605
转载 二叉树查找的时间复杂度
原文链接:https://blog.youkuaiyun.com/li_huai_dong/article/details/79911069给定值的比较次数等于给定值节点在二叉排序树中的层数。如果二叉排序树是平衡的,则n个节点的二叉排序树的高度为Log2(n+1),其查找效率为O(Log2n),近似于折半查找。如果二叉排序树完全不平衡,则其深度可达到n,查找效率为O(n),退化为顺序查找。一般的,二叉排序...
2018-10-30 09:18:52
54441
原创 C++ 合并两个有序单向链表
struct Node{ Node* pNext; int val; Node(int v) { val = v; pNext = nullptr; }};Node* MergeNodeList(Node* p1,Node*p2){ Node *pRoot,*pCur; if (p1->val < p2->val) { pRoot = p1...
2018-10-29 14:13:17
1784
1
原创 单例模式
饿汉模式(线程安全,嵌套类析构)class Singleton{private: Singleton(){} static Singleton* instance;public: static Singleton* GetInstance()//类加载的时候已经new了,可以直接返回 { return instance; }private: class GC { ...
2018-10-28 21:57:49
133
原创 C++ 二叉树非递归遍历(别贪心,一次循环访问一个节点,前序遍历2例外)
前序遍历方法1:void preOrder1(BiNode * rootN){ if (rootN != nullptr) { stack<BiNode*> nodeSta; nodeSta.push(rootN); BiNode* curNode; while(!nodeSta.empty()) { curNode = nodeSta.top()...
2018-10-28 20:34:45
502
原创 二叉树数据结构实现
#include<iostream>#include<string.h>#include<vector>#include <queue>using namespace std;struct BiNode{ int val; BiNode *left; BiNode *right; BiNode(int v,BiNode *l ...
2018-10-28 20:31:36
627
原创 C++ 拷贝构造
class MyString {private: char* _data; size_t _len; void _init_data(const char *s) { _data = new char[_len + 1]; memcpy(_data, s, _len); _data[_len] = '\0'; }public: MyString() { _dat...
2018-10-28 15:54:19
426
原创 C++ 分号的使用
别人的帖子:https://blog.youkuaiyun.com/cainiaowys/article/details/7098122不是偷懒,是因为类型定义后面可以顺便定义变量。 struct A {} x, y, z; 与 struct A {}; x, y, z; 是不同的东西。int;bool;或是struct{};class{};struct Point { int x; ...
2018-10-28 11:19:24
2175
原创 C++ 运算符重载 运算符属于左边的
class A{public: int a; A operator+(const A &a) { A res; res.a = this->a+a.a; return res; }};int main(){ A a1,a2; a1.a = 1; a2.a = 2; A a3 = a1 + a2;设断点调试时this->...
2018-10-28 09:57:09
1057
原创 C++ 编程的基本问题
#include <iostream>using namespace std;struct MyStru{ int val; MyStru(int v) { val = v; }};//类和结构体定义时需要加上分号class CBase{public: CBase(){printf("construct CBase\n");}//private://...
2018-10-27 17:22:05
351
原创 求单向链表的是否有环及环入口
参考博客:https://www.cnblogs.com/dancingrain/p/3405197.htmlbool HasLoop(Node* root, Node* &Entry){ if(!root) return false; bool bHasLoop = false; Entry = nullptr; Node* pFast,*pSlow; pSlow =...
2018-10-27 15:21:43
191
原创 C++ 类的成员函数中的静态局部变量
class A{public: A(){} ~A(){} int GetStaticNum();};int A::GetStaticNum(){ static int i = 0;//静态局部变量属于该方法,与类的实例无关 i++; return i;}int main(){ A a,b; int i1 = a.GetStaticNum();//i1=1...
2018-10-22 18:43:52
2191
原创 华为0j 022
华为OJ】【022-删除字符串中出现次数最少的字符】题目链接:https://blog.youkuaiyun.com/DERRANTCM/article/details/51335957C++实现:void main(){ string strIn; cin >> strIn; map<char,int> chNum; for (int i=0;i&l...
2018-09-01 21:37:47
199
原创 华为0j 021
【华为OJ】【021-汽水瓶】题目链接:https://blog.youkuaiyun.com/DERRANTCM/article/details/51335956C++实现:int GetSum(int nBt){ int n1,n2; n1 = nBt / 3; n2 = nBt % 3; if (nBt >= 3) return n1+GetSum(n1+n2);...
2018-09-01 20:28:24
174
原创 华为0j 017
【华为OJ】【017-密码验证合格程序】题目链接:https://blog.youkuaiyun.com/DERRANTCM/article/details/51328467C++实现:void main(){ string str1,strOut; vector<string> strList,strValid;// cin >> str1; str1 =...
2018-08-30 19:47:25
229
原创 华为0j 016
【华为OJ】【016-坐标移动】题目链接:https://blog.youkuaiyun.com/DERRANTCM/article/details/51328464C++实现:void main(){ string str1,strOut; vector<string> strList,strValid; cin >> str1; str1 = "A10;...
2018-08-30 16:42:27
236
原创 华为oj 015
【华为OJ】【015-求int型数据在内存中存储时1的个数】题目链接:https://blog.youkuaiyun.com/DERRANTCM/article/details/51319753C++实现:void main(){ int n1,n2,n3,n4; string str1,strOut; cin >> n1; n2 = 0; while(n1 != ...
2018-08-29 22:11:10
140
原创 华为oj 014
【华为OJ】【014-字串的连接最长路径查找】题目链接:https://blog.youkuaiyun.com/DERRANTCM/article/details/51319745C++实现:void main(){ int n1,n2,n3,n4; string str1,strOut; vector<string> strIn; cin >> n1;...
2018-08-29 21:21:41
152
原创 华为oj 013
【华为OJ】【013-句子逆序】题目链接:https://blog.youkuaiyun.com/DERRANTCM/article/details/51319735C++实现:void main(){ string str1,strOut; vector<string> strIn; do { cin >> str1; strIn.push_b...
2018-08-29 21:12:19
173
原创 华为oj 009
华为OJ】【009-提取不重复的整数】题目链接:https://blog.youkuaiyun.com/DERRANTCM/article/details/51315205C++实现:void main(){ int n1,n2,n3,n4; string str1,strOut; cin >> str1; vector<char> chList; fo...
2018-08-29 20:54:54
212
原创 华为oj 008
华为OJ】【008-合并表记录】题目链接:https://blog.youkuaiyun.com/DERRANTCM/article/details/51315163C++实现:void main(){ int n1,n2,n3,n4; cin >> n1; n2=n1; map<int, int> nMap; while(n2--) { ci...
2018-08-29 20:36:05
300
原创 华为oj 007
【华为OJ】【007-取近似值】题目链接:https://blog.youkuaiyun.com/DERRANTCM/article/details/51315104C++实现:void main(){ float n1; cin >> n1; cout << (int)(n1+ 0.5f)<< endl; system("pause");}...
2018-08-29 20:09:08
262
原创 华为oj 006
题目链接:https://blog.youkuaiyun.com/DERRANTCM/article/details/51249154C++实现:string getResult(long ulDataInput){ string str1,str2; long int i=2; while(i<= ulDataInput) { while(ulDataInput % i ...
2018-08-29 20:07:27
172
原创 华为oj 005
【华为OJ】【005-进制转换】题目链接:https://blog.youkuaiyun.com/DERRANTCM/article/details/51249114C++实现:int HexToInt(char ch){ if (ch >= '0' && ch <= '9') { return ch - '0'; } else if(ch >...
2018-08-29 15:12:14
242
原创 华为oj 004
【华为OJ】【004-字符串分隔】题目链接:https://blog.youkuaiyun.com/DERRANTCM/article/details/51249067C++实现:void main(){ string str1,str2; getline(cin,str1); getline(cin,str2); int n1Add = 8 - str1.size()%8; ...
2018-08-29 14:28:23
149
原创 华为oj 003
【003-明明的随机数】https://blog.youkuaiyun.com/DERRANTCM/article/details/51231923C++实现:void main(){ int n; cin>>n; int n1; int nums[1001] = {0}; for (int i=0;i<n;i++) { cin>>n1;...
2018-08-17 10:54:44
378
原创 华为oj 002
【002-计算字符个数】https://blog.youkuaiyun.com/DERRANTCM/article/details/51231912C++实现:void main(){ string inStr; getline(cin,inStr); char ch; cin >> ch; string::size_type chNum = inStr.size...
2018-08-17 10:04:07
164
原创 华为oj 001
【001-字符串最后一个单词的长度】题目链接:https://blog.youkuaiyun.com/DERRANTCM/article/details/51231903C++实现:vector<string> SplitString(const string &inStr, const string &spliter){ vector<string&g...
2018-08-17 09:52:59
271
原创 MFC改变鼠标形状
继承CButton新建了一个类,重载OnMouseMove函数,加入下面这句代码,光标没有改变SetCursor(AfxGetApp()->LoadStandardCursor(IDC_CROSS));在SetCursor前面加上作用域运算符“::”后光标改变,但是会闪烁在类向导中找到WM_SETCURSOR消息,重载OnSetCursor函数,直接返回TRUE后不再闪烁...
2018-03-01 15:28:22
1236
原创 MFC使用CButton的显示区域作为画布显示图像
1.在对话框中添加一个CButton控件,然后在类向导中新建一个继承自CButton的类class CDisplayArea : public CButton{//...}2.在该对话框的头文件中声明一个CDisplayArea类的对象,然后和新添加的CButton按钮绑定到一起class CNDTDisplayDlg : public CDialogEx{ CDisp
2017-11-01 16:52:07
651
原创 MFC 使用CFileDialog打开多个文件
void CNDTDisplayDlg::OnBnClickedOpendata(){ CFileDialog fDlgGetTxt(TRUE);//打开文件对话框 fDlgGetTxt.m_ofn.lpstrFilter = "(*.txt)\0*.txt\0\0";//只显示txt文件格式:显示内容\0 过滤条件\0 ... 最后以\0结尾 fDlgGetTxt.m_ofn.lpstr
2017-10-31 16:43:25
3367
原创 MFC使用CWaitCursor显示等待光标
在需要显示等待光标的代码前声明一个CWaitCursor变量,CWaitCursor的构造函数会自动地将当前光标改为等待光标。超出定义的CWaitCursor变量的作用域时,CWaitCursor变量的析构函数会将等待光标替换回之前的光标。例子:void CNDTDisplayDlg::OnBnClickedOpendata(){ //.. if (fDlgGetTx
2017-10-31 15:14:31
3250
原创 C++调试时出现unused = 0
调试时出现unused = 0,以为变量没有正确赋值,继续运行程序却成功执行了。变量窗口的值那一列的{}中的内容是可以忽略的。
2017-08-22 17:12:48
866
原创 MFC获取Cbutton控件的句柄
MFC获取Cbutton控件的句柄CButton* pBtn = (CButton*)GetDlgItem(IDC_***);//必须进行强制类型转换HWND hBtn = pBtn->GetSafeHwnd();
2017-07-27 10:44:41
3927
原创 MFC 右键连续弹出快捷菜单
添加右键单击的消息响应函数,新建CMenu对象,LoadMenu,GetSubMenu,TrackPoPMenu.关键的一步是 将函数末尾的OnRButtonDown(nFlags,point)注释掉
2017-07-14 10:59:17
344
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人