
C/C++
文章平均质量分 52
C/C++
中世纪冻干芝士
Ahahaha
展开
-
C++ 强制类型转换(const_cast/reinterpret_cast)使用详解
一、const_cast用法const_cast < new-type > ( expression );用于转换指针或引用,可以去掉类型的const属性。在c++参考文档网站上(const_cast conversion - cppreference.com)有这么一个例子:#include <iostream>struct type{ int i; type(): i(3) {} void f(int v) const原创 2022-05-18 16:43:08 · 2797 阅读 · 2 评论 -
线程池类封装
my_thread_pool.h//// Created by ACE on 2021/10/20.//#ifndef CPPTEST_MY_THREAD_POOL_H#define CPPTEST_MY_THREAD_POOL_H#include <pthread.h>struct my_task { struct my_task *pNext; int value;};struct my_thread_info { //线程退出标志 .原创 2021-10-21 09:48:28 · 166 阅读 · 0 评论 -
linux系统中make install 时指定安装路径
当我们从github中下载一个开源软件(或者库),通常需要“三连”(./configure && make && make install )安装(使用cmake或其他指定编译安装命令的除外)此时该开源软件的会默认安装到/usr/local/lib和/usr/local/include中如果想指定安装位置(比如库文件将要做到docker镜像中,或者加入到git仓库中,需要独立出来),可以通过一下方式指定:1.设置DESTDIR环境变量export DESTD原创 2021-03-02 17:04:05 · 7697 阅读 · 3 评论 -
解决usr/bin/ld: cannot find -lxxx问题
linux下编译应用程序常常会出现如下错误: /usr/bin/ld: cannot find -lxxx 意思是编译过程找不到对应库文件。其中,-lxxx表示链接库文件 libxxx.so。 注:有时候,由于库文件是编译过程临时生成的,如果前面出错也会导致出现这种情况,下面针对的是由于本机系统环境缺失而引起的。。 一般出现这种错误有以下几种原因:1.系统缺乏对应的库文件;2.版本不对应;3.库文件的链接错误;4.库文件路径设置问题...转载 2021-02-25 14:52:42 · 39261 阅读 · 0 评论 -
2020-12-16子类对象指针强转成父类对象指针,父类对象指针调用子类函数问题(待整理)
当父类中声明某个函数为虚函数,并且子类重载了这个虚函数以后,用父类对象的指针可以调用子类的相应函数,但前提是该指针指向的对象是子类的对象,否则没有意义。1.新建一个子类对象时,它首先执行它父类的构造方法然后再执行子类的构造方法。2.我们new一个子类对象赋给父类(父类的引用指向了子类的对象,也就是说java里说的多态,),父类对象不可以调用子类的方法,但如果子类重写了父类的某个方法,则此时父类调用的是子类方法的内容。class A{public:virtual int a();}转载 2020-12-16 15:29:17 · 523 阅读 · 2 评论 -
visual studio community 2019 编译调试linux环境下程序
首先在visual studio installer 中勾选“使用C++的Linux开发”和“使用C++的桌面开发”创建一个自己的代码工程,文件>新建>项目, 创建一个在linux中运行的项目:设置linux服务器连接信息:依次点击调试>选项>跨平台>连接管理器>添加填上自己的linux服务器信息右击项目处,点击属性确认远程服务器的正确性:开始调试,先后点击linux 控制台和开始调试,查看程序在远程服务器的运行结果:..原创 2020-12-10 16:03:02 · 1097 阅读 · 0 评论 -
c++中父类子类对象指针相互转换,成员函数调用方式
c++中父类子类对象指针相互转换的问题:在面向对象开发时,某些场景下需要将子类对象的指针强转成父类指针进行调用,或者,将父类指针强转成子类指针进行调用,这个时候成员函数调用规律是什么样的?规律:不论是上面说的哪种强制转换情况,强转后的指针在调用虚函数时失效,其他情况正常调用。理解:1.子类指针强转成父类指针,使用这个父类指针调用成员函数,本来是应该调用父类自己的成员函数的,但由于子类的同名成员函数为虚函数,强转失效了,调用的还是子类的成员函数。 2.父类指针强转成子类指针...原创 2020-12-07 11:06:12 · 2268 阅读 · 0 评论 -
C++11新特性之std::bind()
文章转载自:http://www.jellythink.com/archives/773Cocos2d-x中有如下代码:// new callbacks based on C++11#define CC_CALLBACK_0(__selector__,__target__, ...) std::bind(&__selector__,__target__, ##__VA_ARGS__)#define CC_CALLBACK_1(__selector__,__target__, .转载 2020-10-29 15:39:56 · 384 阅读 · 0 评论 -
C++11新特性之std::function<>
转自http://www.jellythink.com/archives/771看下面这两行代码:std::function<void(EventKeyboard::KeyCode, Event*)> onKeyPressed;std::function<void(EventKeyboard::KeyCode, Event*)> onKeyReleased;这两行代码是从Cocos2d-x中摘出来的。下文解释如何理解这个定义。std::function介绍.转载 2020-10-29 15:23:21 · 160 阅读 · 0 评论