窗体在设置为无边框模式(设置方法:FormBorderStyle=None),默认是无法随意拖动的,也没有最大化、最小化、关闭等按钮。 1) 选中要去除边框的窗体,按F4调出窗体属性。 2)在属性框中找到FormBorderStyle选择none。 一、实现窗体拖动 方法一:调用API using ...
如果在构造函数中使用new来初始化指针成员,则应在析构函数中使用delete new和delete必须相互兼容。new对应于delete,new[]对应于delete[] 如果有多个构造函数,则必须以相同的方式使用new,要么都带中括号,要么都不带。因为只有一个析构函数,所有的构造函数都必须与它兼容 ...
分类:
编程语言 时间:
2020-06-14 23:35:43
阅读次数:
87
同样的道理,既然C++11只负责sp_counted_base的原子性,那么shared_ptr本身就没有保证线程安全了,加入两个线程同时访问同一个shared_ptr对象,一个进行释放(reset),另一个读取裸指针的值,那么最后的结果就不确定了,很有可能发生野指针访问crash。 ...
分类:
编程语言 时间:
2020-06-14 20:40:22
阅读次数:
64
1 #include <stdio.h> 2 #include <malloc.h> 3 typedef struct lianbiao *ptr; 4 struct lianbiao 5 { 6 int data; 7 ptr next; 8 }; 9 10 int main(void) 11 { ...
分类:
其他好文 时间:
2020-06-14 01:00:09
阅读次数:
64
#include <stdio.h> #include <malloc.h> typedef struct lianbiao *ptr; struct lianbiao { int data; ptr next; }; int main(void) { ptr create(); void out( ...
分类:
其他好文 时间:
2020-06-12 20:34:41
阅读次数:
70
去除最顶层Makefile的-Os/-O2, 替换为-O0 替换include/linux/complier.h中 #if 1 //zjr #define __compiletime_assert(condition, msg, prefix, suffix) BUG_ON(!condition) ...
分类:
系统相关 时间:
2020-06-08 09:25:16
阅读次数:
85
C++标准库中有很多资源占有(resource-owning)类型,比如 std::ifstream , std::unique_ptr 还有 std::thread 都是可移动(movable),但不可拷贝(cpoyable)。虽然, std::thread 实例不会如 std::unique_p ...
分类:
编程语言 时间:
2020-06-07 13:10:02
阅读次数:
72
本节将开始介绍cartographer前端点云与地图匹配获取当前位姿的算法。上节末尾我们提到ScanMatch函数,源码如下: std::unique_ptr<transform::Rigid2d> LocalTrajectoryBuilder2D::ScanMatch( const common: ...
分类:
其他好文 时间:
2020-06-02 11:38:15
阅读次数:
88
CGO内部机制 CGO生成的中间文件 要了解CGO技术的底层秘密首先需要了解CGO生成了哪些中间文件。我们可以在构建一个cgo包时增加一个-work输出中间生成文件所在的目录并且在构建完成时保留中间文件。如果是比较简单的cgo代码我们也可以直接通过手工调用go tool cgo命令来查看生成的中间文 ...
分类:
其他好文 时间:
2020-05-29 21:32:01
阅读次数:
100
Spark GraphX 概述 1、Spark GraphX是什么? (1)Spark GraphX 是 Spark 的一个模块,主要用于进行以图为核心的计算还有分布式图的计算。 (2)GraphX 他的底层计算也是 RDD 计算,它和 RDD 共用一种存储形态,在展示形态上可以以数据集来表示,也可 ...
分类:
其他好文 时间:
2020-05-29 19:11:36
阅读次数:
58