![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
wangw8507
长沙梅溪湖
展开
-
C++模板-- 从类成员函数推导出类类型
C++模板-- 从类成员函数推导出类类型原创 2022-11-08 10:10:59 · 383 阅读 · 0 评论 -
SendMessage发送WM_KEYDOWN/WM_KEYUP消息
SendMessage 按键消息原创 2022-09-28 09:45:30 · 2044 阅读 · 0 评论 -
QT编写跨平台代码注意事项
1.注意大小写(文件名,路径,控件提升名称等)2.路径使用正斜杠,不使用反斜杠对于平台特定要求,使用QDir::toNativeSeparators()进行转换3.不在自定义的命名空间里面使用Q_DELCARE_METATYPEnamespace myspace{ struct stru{ int x; } Q_DELCARE_METATYPE(myspace::stru) //BAD!!!!}Q_DELCARE_METATYPE(myspace::stru) //GOOD!!!!原创 2022-03-02 14:30:51 · 726 阅读 · 1 评论 -
GCC下设置调试信息级别
gcc的-g选项可以在编译时生成调试信息,便于调试器对程序进行调试。通过分离程序,可以把调试信息从模块中分离出来形成单独的调试信息文件,类似于VS的pdb文件。gcc的调试信息可以设置生成级别,对应的参数为-glevel. level可以为0,1,2,3,级别越高,体积越大。Level0:0不生成调试信息Level1:只生成最小调试信息,不包含局部变量的调试信息Level2:则会生成比较多的调试信息,但是对应的文件体积会比级别1大很多。 默认值为2Level3:会生成扩展...原创 2022-02-26 16:54:03 · 1386 阅读 · 0 评论 -
Invalid parameter passed to C runtime function.
最近调试程序时,发现信息面板不停地打印如下信息:Invalid parameter passed to C runtime function.Invalid parameter passed to C runtime function.Invalid parameter passed to C runtime function.Invalid parameter passed to C runtime function.Invalid parameter passed to C runtime原创 2022-02-09 15:54:44 · 780 阅读 · 1 评论 -
天杀的QNetworkRequest终于加入超时机制了
QT总算是良心发现,从5.15版本开始支持了QNetworkRequest的超时设置,再也不用自己造轮子了!void QNetworkRequest::setTransferTimeout(int timeout = DefaultTransferTimeoutConstant)Sets timeout as the transfer timeout in milliseconds.Transfers are aborted if no bytes are transferred bef.原创 2022-01-26 14:08:16 · 2336 阅读 · 4 评论 -
不是所有的token在宏定义中都可以使用##连接
我定义了下面几个宏:#define CONNAT(a, b) CONNAT_IMPL(a, b)#define CONNAT_IMPL(a, b) a##b#define STR(s) STR_IMPL(s)#define STR_IMPL(s) #s然后再代码中使用:std::string str = STR(CONNAT(/home/boy/, zz));我的本意是想得到一个字符串"/home/boy/zz"但是GCC编译器给出了编译错误:error: pasting原创 2022-01-13 14:26:31 · 699 阅读 · 0 评论 -
一个点绕另一个点旋转之后的坐标计算
假设对坐标系上任意点(x,y),绕一个坐标点(rx0,ry0)逆时针旋转a角度后的新的坐标设为(x0, y0),有公式:x0= (x - rx0)*cos(a)- (y - ry0)*sin(a) + rx0 ; y0= (x - rx0)*sin(a) + (y - ry0)*cos(a) + ry0 ;原创 2021-11-01 19:55:57 · 6606 阅读 · 1 评论 -
VS调试时监视/查看全局变量
VS全局变量 监视原创 2021-07-07 13:46:19 · 4272 阅读 · 0 评论 -
C++11之静态断言static_assert
static_assertstatic_assert是编译时期的断言static_assert的断言表达式的结果必须是在编译时期可以计算的表达式,即必须是常量表达式静态断言接收两个参数:断言表达式和警告信息#include <assert.h>template <typename t, typename u> int bit_copy(t& a, u& b) { static_assert(sizeof(b) == sizeof(a),.原创 2021-05-17 09:19:09 · 510 阅读 · 0 评论 -
友元访问辅助类----限定类方法只能被指定类调用
/* 友元访问辅助类 */template<class T>class FriendAccess{ friend typename T; FriendAccess() {}};/* 示例:类A的方法f()限定只有类B可以访问:*/ class A(){ public: void f(FriendAccess<B>){} //限制了只有类B的实例可以访问 }; class B(){ public...原创 2021-05-15 11:27:03 · 177 阅读 · 0 评论 -
编译期判断某种特定类型是否具有指定方法
#define HAS_MEMBER(XXX) \template<typename T, typename... Args>\struct has_member_##XXX \{ \ template<typename U> static auto Check(int) \ -> decltype(std::declval<U>().XXX(std::declval<Args>()...), std::true_type()); \.原创 2021-05-08 16:42:39 · 274 阅读 · 0 评论