- 博客(303)
- 资源 (6)
- 收藏
- 关注
原创 元编程: is_member_function_pointer
判断是否为类/结构体的非静态成员函数指针类型#include <iostream>#include <type_traits>class A{public: A() { a = 10; } int int_print() { return a; }public: int a;};int main(){ std::cout << "This Dem
2022-01-16 14:17:00
595
原创 元编程: is_member_object_pointer<Tp>
判断是否为指向类/结构体非静态数据成员变量的指针#include <iostream>#include <type_traits>class A{public: A() { a = 10; } A* create_obj_pointer() { return new A(); } A create_object() { return A(); }
2022-01-16 14:04:56
460
原创 元编程: is_rvalue_reference
判断是否为右值引用#include <iostream>#include <type_traits>int main(){ int a = 10; int& b = a; std::cout << "This Demo: is_rvalue_reference" << std::endl; if(std::is_rvalue_reference<int>::value) {
2022-01-16 13:44:18
416
原创 元编程: is_lvalue_reference<Tp>
判断是否为左值引用#include <iostream>#include <type_traits>int main(){ int a = 10; int& b = a; std::cout << "This Demo: is_lvalue_reference" << std::endl; if(std::is_lvalue_reference<int>::value) {
2022-01-16 13:41:40
451
原创 元编程: is_pointer<Tp>
判断是否为指针类型, 包含函数指针#include <iostream>#include <memory>#include <memory.h>#include <type_traits>void void_print(){ return;}typedef void(*void_func_ptr)();int main(){ std::cout << "This Demo: is_pointer" &l
2022-01-16 12:39:24
364
原创 元编程: is_array<Tp>
判断是否为数组类型#include <iostream>#include <memory.h>#include <type_traits>using namespace std;int main(){ std::cout << "This Demo: is_array" << std::endl; int a = 10; int b[3] = {10, 11, 12}; int *c = n
2022-01-16 12:28:50
139
原创 元编程: is_floating_point<Tp>
判断是否为浮点数类型#include <iostream>#include <string>#include <functional>#include <type_traits>void void_print(){ return;}bool bool_print(){ return false;}char char_print(){ return 'a';}unsigned char uchar_
2022-01-16 12:21:41
514
原创 元编程: is_integral<Tp>
判断类型是否为整型, 注意,布尔类型也是整型#include <iostream>#include <functional>#include <type_traits>using namespace std;int int_print(){ return 0;}void void_print(){}class A{public: A() { a = 10; } int int
2022-01-16 11:21:19
464
原创 元编程: is_void<Tp>
学习判断类型是否为: void#include <iostream>#include <functional>#include <type_traits>using namespace std;int int_print(){ return 0;}void void_print(){}class A{public: A() { a = 10; } int int_print.
2022-01-16 11:13:59
191
原创 元编程学习: integral_constant
用于定义整型常数变量的类,在<type_traits>中广泛应用,最直接的使用是定义了true_type和false_type, 其为对bool类型的特化#include <iostream>#include <type_traits>using namespace std;int main(){ std::cout << "This Demo is that type_traits: integral_constant" <&
2022-01-16 10:51:20
385
原创 C++11 元编程学习
主要对C++11中的<type_traist>中的代码进行简单的注释说明// C++11 <type_traits> -*- C++ -*-// Copyright (C) 2007-2015 Free Software Foundation, Inc.//// This file is part of the GNU ISO C++ Library. This library is free// software; you can redistribute it
2022-01-15 17:23:42
460
原创 检查类中是否执行非运算的宏
#include <iostream>using namespace std;struct unspecified_bool { struct NOT_ALLOWED; static void true_value(NOT_ALLOWED*) {}};typedef void (*unspecified_bool_type)(unspecified_bool::NOT_ALLOWED*); // 定义函数指针// 宏定义: 判断是否可以执行!() 运算#define O.
2022-01-09 11:43:18
341
原创 检查成员变量或成员函数是否存在的宏
#include <iostream>#include <type_traits>#include <memory>#include <vector>#include <fstream>#include <memory.h>#define HAS_MEMBER_FUNCTION(member)\ template<typename T, typename... Args>struct has_memb.
2022-01-09 11:36:41
473
原创 c++中的不可复制类型
在c++中,有的时候需要限制某种类型的对象的拷贝复制,例如std::thread, std::metux,std::ifstream, std::ofstream等类型。什么时候需要去如此设计该类型呢?实际上就是如果一个对象涉及到一种唯一资源的管理时,我们需要设计为该类型,例如前面所举例子: 分别管理线程资源,互斥区和文件;如果我们设计为可以随意拷贝复制的,那么会导致存在多个物体同时管理一个资源,必然导致混乱。那么如何设计呢?通常是将拷贝构造函数和复制构造函数设计为protected或private
2021-11-06 00:18:58
668
原创 c++ auto
实际上,写了很长时间的c++,其中c++11中引入的auto是很有用的,但是,之前遇到问auto是否能够保证const和reference(&)的属性时,一时不知道如何回答,所以写一小段程序验证一下结论: auto不能保证掐前面所述的属性, 测试代码如下:#include <iostream>#include <string>using namespace std;class Test{public: Test() { }pu
2021-11-06 00:09:23
596
原创 QTableView中scrollto函数不起作用
在使用QTableView时,如果设置了QSortFilterProxyModel时,在传给scrollTo的索引QModelIndex,不能是原来的原始的Model的索引,必须是Proxy Model的索引
2021-11-05 23:56:19
1466
原创 非const引用
在c++开发过程中,很容易出现的错误就是非const引用,然后涉及隐式类型转换时,很容易出现问题,有的时候不注意就会导致定位问题很难找到错误,如下代码所示:#include <iostream>using namespace std;void printDouble1(double& a){ std::cout << "a = " << a << std::endl;}void printDouble2(const dou
2021-11-05 23:52:53
153
原创 vtkResliceImageViewer
#ifndef QtVTKRenderWindows_H#define QtVTKRenderWindows_H#include "vtkSmartPointer.h"#include "vtkResliceImageViewer.h"#include "vtkImagePlaneWidget.h"#include "vtkDistanceWidget.h"#include "vtkResliceImageViewerMeasurements.h"#include <QMainWin.
2021-01-30 21:24:03
2997
16
原创 vtkBalloonWidget
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)VTK_MODULE_INIT(vtkRenderingFreeType)#include <vtkSmartPointer.h>#incl.
2021-01-30 21:20:55
367
原创 vtkSplineWidget
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)VTK_MODULE_INIT(vtkRenderingFreeType)#include <vtkSmartPointer.h>#incl.
2021-01-30 20:42:12
529
原创 vtkSliderWidget: 3D
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)VTK_MODULE_INIT(vtkRenderingFreeType)#include <vtkSmartPointer.h>#incl.
2021-01-30 20:16:00
322
原创 vtkSliderWidget: 2D
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)VTK_MODULE_INIT(vtkRenderingFreeType)#include <vtkSmartPointer.h>#incl.
2021-01-30 20:08:00
450
原创 vtk属性: 镜面反射
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>#include <vtkSphereSource.h>#include.
2021-01-30 17:59:27
500
原创 vtk属性: 漫反射系数
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>#include <vtkSphereSource.h>#include.
2021-01-30 17:56:21
1378
原创 VTK属性: 环境光
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>#include <vtkSphereSource.h>#include.
2021-01-30 17:53:35
435
原创 vtkGraphLayoutView
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)VTK_MODULE_INIT(vtkRenderingFreeType)#include <vtkSmartPointer.h>#incl.
2021-01-30 17:49:16
286
1
原创 VTKImageXXXSource: Gaussian/Noise/Grid/Mandelbrot
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vector>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>#include <vtkIma.
2021-01-30 17:43:22
224
原创 VTK 频域滤波器
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QFileDialog>#include <QDebug>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartP...
2021-01-23 22:34:05
175
原创 vtkImageFFT 和 vtkImageRFFT
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QFileDialog>#include <QDebug>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPoin.
2021-01-23 22:00:34
215
原创 VTK 图像滤波
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QFileDialog>#include <QDebug>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPoin.
2021-01-23 21:32:09
287
原创 VTK边缘检测:梯度算子,Sobel算子,Canny算子,Laplace算子
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QFileDialog>#include <QDebug>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPoin.
2021-01-23 17:11:30
308
原创 vtkImageThreshold: 图像二值化
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QFileDialog>#include <QDebug>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartP...
2021-01-23 15:19:32
628
原创 vtkImageLogic和vtkImageMathmatic
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>#include <vtkRenderer.h>#include <.
2021-01-23 13:36:20
397
原创 vtkImageReslice: 三维图像切片2
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>#include <vtkRenderer.h>#include <.
2021-01-23 10:54:35
661
原创 vtkImageReslice: 三维图像切片
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>#include <vtkImageActor.h>#includ...
2021-01-17 14:13:19
1266
原创 vtkImageData: 图像彩色映射
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>#include <vtkImageActor.h>#include &.
2021-01-17 12:44:55
716
原创 vtkImageData图像遍历
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>#include <vtkImageActor.h>#includ...
2021-01-17 11:29:47
730
原创 vtkImageBlend 图像融合
这是一个失败的示例,版本vtk8.2,无论彩色(rgb)图像和灰度图像融合均失败,原因没有找到#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.
2021-01-17 10:21:45
644
8
原创 vtkImageActor显示图像
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>#include <vtkImageActor.h>#includ...
2021-01-16 21:34:38
580
原创 vtk 观察者&命令模式: vtkCommand
#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <vtkAutoInit.h>VTK_MODULE_INIT(vtkRenderingOpenGL2)VTK_MODULE_INIT(vtkInteractionStyle)#include <vtkSmartPointer.h>#include <vtkCommand.h>#include <.
2021-01-16 19:04:11
392
OpenCV + Contribute部分windows编译的release版本
2019-01-16
c++&qt;&windows;背景减除算法
2018-01-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人