- 博客(8)
- 收藏
- 关注
原创 一些关于C++、windows编程的学习
1、extern "C": 因为C++和C对编译后的函数符号和外部变量符号修饰方式不一样。加上这个,使其修饰的变量或函数是按照C语言方式编译,连接器才能正确解析。 在DL显式链接中,被修饰的函数就要加上这个,不然在调用的时候,函数名就要写成经C++编译器修饰过后的函数名。而不同C++编译器修饰方法也可能不同,所以还是加上这个比较方便。 2、 ...
2020-03-26 18:46:02 146
原创 win32 剪贴板
wstring wsCopy = _T(""); if (m_pUser->IsVisible()) { wsCopy = m_pUser->GetText(); } else { wsCopy = m_prUser->GetText(); } int ret = ::OpenClipboard(m_hWnd); if (ret != 0) { int...
2020-03-26 10:41:08 192
原创 41. 缺失的第一个正数【leetcode】
原题地址:https://leetcode-cn.com/problems/first-missing-positive/ 题目上有要求是算法时间复杂度为O(n),并且只能使用常数级别的空间。 核心思想就是利用原数组记录出现过的值。 1、遍历数组,把数组中≤0或者>len的数都变为1,并且判断数组中是否已经存在1,不存在1那答案就直接为1。这时候数组就全为正数了,可以用负数标志一个数是否出现...
2020-03-19 12:50:34 109
原创 C++ 构造函数和析构函数是否可以为虚函数?构造函数里调用虚函数会怎样?
构造函数: 在类中,构造函数不可以为虚函数。这是为什么呢?这要先了解一下vptr指针。 什么是vptr指针呢? 当类中声明虚函数时,编译器会在类中生成一个虚函数表。虚函数表是一个存储成员函数指针的数据结构,它是由编译器自动生成与维护的,virtual成员函数会被编译器放入虚函数表中。 所以,当存在虚函数时,每个对象都需要有一个指向虚函数表的指针,这就是vptr指针。 在实现多态的过程中,...
2020-03-18 22:09:04 358
原创 DLL的导出与使用 C++
DLL中导出函数的声明 1、在函数声明中加上__declspec(dllexport) 在需要导出的函数之前加__declspec(dllexport)即可。 #include <iostream> using namespace std; __declspec(dllexport) int add(int a, int b) { return a + b; } __dec...
2020-03-15 17:25:51 461
原创 37. 解数独【leetcode】
原题地址:https://leetcode-cn.com/problems/sudoku-solver/ dfs回溯法。 不断用1到9尝试未填入的地方。假如有某处无法填入,就把此处重新变为'.'(未填入状态),并且回溯。 在使用递归时要仔细,注意递归中参数的变化。 class Solution { public: void solveSudoku(vector<vector...
2020-03-10 19:26:57 62
原创 C++ 线程同步
1、临界区 用CRITICAL_SECTION结构对象保护共享资源。 用EnterCriticalSection()和LeaveCriticalSection()函数去标识和释放一个临界区。 所用到的CRITICAL_SECTION结构对象必须经过InitializeCriticalSection()的初始化后才能使用。 如果有多个线程试图同时访问临界区,那么在有一个线程进入后其他所有试图...
2020-03-05 16:31:23 166
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人