一些小技巧 应该判断的S1是Teacher&而不是Teacher,std::is_convertible_v的话,我们实际上判定是不是可以转换的时候,还是会去看我们的构造函数。也就是说我们自己依赖了自己,无穷递归,直接判断S1是不是string。std::move的作用是左值转成右值,进而触发移动构造和移动赋值函数。这样可能出现一个问题,t2匹配到模板函数而不是拷贝构造,拷贝构造形参是。)在绑定右值时会延长右值的生命周期,使其在引用期间有效(可以接受左值和右值,因为常量引用(
Qt使用windows消息机制 bool RouterPlan::eventFilter(QObject *obj, QEvent *eve){ if (obj == m_TableWidget->viewport()) { if (eve->type() == QEvent::Drop) { const QMimeData *mime = ((QDropEvent*)eve)->mimeData(); QByteArray encodedata = mime-&.
connect写法 存在多个重载版本的函数做信号时,可以使用函数指针指定重载版本// ① 基于字符串匹配 connectconnect(comboBox, SIGNAL(currentIndexChanged(const QString&)), label, SLOT(setText(const QString&)));// ② 基于方法地址匹配 connect. 使用 static_cast 实现connect(comboBox, static_cast<void(QCo
const和constexpr C++ 11标准中,为了解决 const 关键字的双重语义问题,保留了 const 表示“只读”的语义,而将“常量”的语义划分给了新添加的 constexpr 关键字。而 dis_2() 函数中的“const int x”,表明 x 是一个只读变量的同时,x 还是一个值为 5 的常量,所以可以用来初始化 f 数组。作为函数的返回类型可以避免重定义错误,因为编译器会在编译时对函数进行求值,并将结果直接嵌入到源文件中,而不会生成多个独立的函数定义。时,编译器会将该函数视为一个可以在编译时求值的常量表达式。
opengl下的视锥体剔除和凸多边形剔除 法线方程表达式的一般形式为Ax+By+Cz+D=0,其中(A,B,C)是平面的法向量,D是平面的截距。平面上一点为P(x0,y0,z0),则点P到平面的距离为:d = |Ax0+By0+Cz0+D| / √(A²+B²+C²) (因为法向量没有归一化,所以得到法向量上的投影要除以法向量长度)假设n是归一化后的法向量(A,B,C),平面上存在任意一点P(x,y,z),O为原点,那么因为P要满足平面方程,所以 Ax+By+Cz = -D。
Anaconda+vscode+pytorch环境搭建 即使按照提示,conda init cmd.exe ,conda init powershell,conda init xxx各种都不行。按住ctrl+shift+p,输入language,选择第一个configure Display Language,配置中文。再次执行conda env list这个命令,多了一个pytorch的环境即可。激活pytorch并添加清华源(激活后可以再次查看env,激活环境前有个*)接下来会提示要安装pytorch相关的包,这里输入y,然后回车。记得手动添加环境变量。
Qt中关于事件过滤 事件处理顺序:事件过滤器eventFilter(QObject *obj, QEvent *e);----->事件分发event(QEvent *e);-------->具体事件keyPressEvent(QKeyEvent *e)等事件
vs installer包名同步版本号 PostBuildEvent中添加FOR /F "tokens=2 delims== " %%V IN ('FINDSTR /B /R /C:" *\"ProductVersion\"" "$(ProjectDir)xxx.vdproj"') DO FOR %%I IN ("$(BuiltOuputPath)") DO REN "$(BuiltOuputPath)" "%%~nI-%%~nxV%%~xI"xxx.vdproj改成自己的即可(包名修改:右键installer项目,属性->O
win10隐藏多余图标 Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Explorer\FolderDescriptions\{0ddd015d-b06c-45d5-8c4c-f59713854639}\PropertyBag]"ThisPCPolicy"="Hide"[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Mi
boost的下载和编译 boost传送门预编译版本(vs2019的vc14.2)版本对应关系下载好boost源码,选择最新的版本1_75_0版本(低于1.7.0的版本可能在vs2019中支持不完善,编译或运行时发生不可预料的bug)编译打开x86_x64交叉工具,cd到boost目录,执行bootstrap.bat执行完会发现安装目录下多了些文件,找到其中的b2.exe在命令框继续输入以下内容,开始编译:b2 install --toolset=msvc-14.2 --build-type=
PDAL 下载编译(conda) https://pdal.io/download.html#current-release-spdal官方建议通过conda下载,我们按照官方来下载conda(https://www.anaconda.com/products/individual 滑到最下面)下载安装好之后(要把conda下的Scripts文件夹加入到环境变量中,否则cmd不认识conda指令),按照指令来第一步就挂了(虽说simple retry will get way但是尝试好多次无果)尝试改源.