1 class Solution {
2 public:
3 int hammingDistance(int x, int y) {
4 int count = 0;
5 for (int n = x ^ y; n; n >>= 1){
6 if ((n & 1) == 1)
7 count++;
8 }
9 return count;
10 }
11 };
在Vs插件开发时,在实验实例的环境中卸载插件,再次启动程序运行插件时,会提示未找到该插件。
因为你仅仅卸载了插件,没有进行清理实验实例环境,vs的实验实例环境会认为该插件仍然存在。
解决方法1:
修改Vs插件中的版本号或者项目ID
解决方法2:
使用VSSDK进行环境清理。
1.首先,需要安装相应的Windows的SDK程序。
2.通过Vs中的VSSDK里面的CreateExpInstance.exe 实现清空实验环境。
执行指令 /Reset /VsInstance=14.0 /RootSuffix=Exp
1 class Solution {
2 public:
3 TreeNode* mergeTrees(TreeNode* t1, TreeNode* t2) {
4 if(t1 == NULL)
5 return t2;
6
7 if(t2 == NULL)
8 return t1;
9
10 TreeNode* new_tree = new TreeNode(t1->val + t2->val);
11 new_tree->left = mergeTrees(t1->left, t2->left);
12 new_tree->right = mergeTrees(t1->right, t2->right);
13 return new_tree;
14 }
15 };
反射机制 : 程序可以访问、检测和修改它本身状态或行为的一种能力
引用和项目依赖项目的区别: 添加项目依赖项会在你的项目之前先编译加载依赖项
如果你要调用依赖项里面的东西,需要添加引用,来获取依赖项的东西
调用静态库方法: 如果存在当前项目中的话,直接添加引用.
如果项目依赖于xxx.lib,在依赖项中添加xxx.lib,在通过引用来实现调用lib
如果项目不存在项目中的话,可以直接通过#pragma comment(lib, "xxx.lib") 实现引用
比如有mts.dll,test1.dll,test2.dll
test1.dll 和 test2.dll都依赖于mts.dll
mts.dll中有一个初始化函数,初始化对象TEST.
对于模块test1.dll和test2.dll中,
各自存在一个模块mts,但没有调用mts中的初始化函数,所以,自身模块的mts中的TEST未初始化.
Linux-makefile命令多线程编译:
使用 -jn,表示开了n个线程进行编译
日期:2017/4/10
上班时间:(09:00~18:00)
周一:
09:00~10:30 安排当周工作任务(每天task) & 学习新知识
10:30~11:45 开始工作(如果完成早上工作任务,继续学习新知识)
平时:
09:00~10:00 安排早上工作任务 & 学习新知识
10:00~11:45 开始工作(如果完成早上工作任务,继续学习新知识)
13:15~14:30 安排下午工作任务 & 学习新知识
14:30~18:00 开始工作(未完成早上任务,则需要优先完成)
加班时间:(19:00~21:00)
19:00~21:00 完成当天工作任务(已完成则写博客,总结)
周末加班(10:00~18:00)
10:00~11:00 安排容易点的工作任务 & 学习新知识
11:00~11:45 开始工作(如果完成早上工作任务,继续学习新知识)
13:15~14:30 安排下午工作任务 & 学习新知识
14:30~16:00 开始工作(未完成早上任务,则需要优先完成)
16:00~18:00 完成当周工作任务(已完成则写博客 & 总结)
1、利用宏定义 静态创建变量 1 #define VAR(id) var_##id
2
3 #define _TO_STR(var_name) #var_name
4 #define TO_STR(var_name) _TO_STR(var_name)
5
6 #define _DEF(def,var,val) def var = val
7 #define DEF(def,var,val) _DEF(def,VAR(var),val)
8 // #define AUTO_(def,var,val) def VAR(var) = val //影响可读性
9
10 // DEF(def,id,val) => def var_id = val
11 DEF(int, Gbits, 511768840);
12 printf("(%s = %d)\n", TO_STR(VAR(Gbits)),VAR(Gbits));
2、能否利用宏定义 动态创建变量
能否动态创建变量 var_1,var_2, ...,var_n?答案似乎是否定的。
因为宏是在编译期间解析的,因此,宏定义无法在运行期间完成该任务
例子如下:
1 for (int i = 1; i <=10; i++)
2 {
3 DEF(int, i, i);
4 printf("(%s = %d)\n", TO_STR(VAR(i)), VAR(i));
5 }
因为宏定义在编译期间解析,因此所定义的变量编程var_i,而非var_1,var_2,...var_n.