c++
文章平均质量分 58
Rani_zZ
这个作者很懒,什么都没留下…
展开
-
inline
内联函数类似于宏函数,会在被调用处进行代码展开,省去了参数压栈、栈帧开辟与回收,结果返回等,从而提高程序运行速度 与宏函数不同,内联函数具有函数特性,在运行时可调试;在代码展开时会做安全检查或自动类型转换;类中声明同时定义的成员函数,自动转化为内联函数,因此内联函数可以访问类的成员变量; 内联函数只是对编译器的建议,是否对函数内联在于编译器,编译器一般不内联包含循环、递归、switch 等复杂操作的内联函数 内联以代码膨胀(复制)为代价,消除函数调用带来的开销。如果执行函数体内代码的时间,相比于函数调原创 2021-07-20 14:37:18 · 240 阅读 · 0 评论 -
const
使用修饰变量,说明该变量不可以被改变; 修饰指针,分为指向常量的指针(pointer to const)和常指针(常量指针,const pointer); 修饰引用,指向常量的引用(reference to const),用于形参类型,即避免了拷贝,又避免了函数对值的修改; 修饰成员函数,说明该成员函数内不能修改成员变量。指向常量的指针vs常指针区分指针所指的值为常量还是指针本身是常量,即被 const 修饰的是哪个,只要记住关键词const 后面为被修饰部分,不可变例如cha原创 2021-07-13 17:37:04 · 185 阅读 · 0 评论 -
static
参考:https://blog.csdn.net/zdb292034/article/details/80720051使用修饰普通变量,修改变量的存储区域和生命周期,使变量存储在静态区,在 main 函数运行前就分配了空间,如果有初始值就用初始值初始化它,如果没有初始值系统用默认值初始化它。 修饰普通函数,表明函数的作用范围,仅在定义该函数的文件内才能使用。在多人开发项目时,为了防止与他人命名空间里的函数重名,可以将函数定位为 static。 修饰成员变量,修饰成员变量使所有的对象只保存一个该变原创 2021-07-13 16:19:03 · 360 阅读 · 0 评论 -
pthread_join()和pthread_detach()
1.pthread_join()阻塞式,线程Ajoin了线程B,那么线程A会阻塞在pthread_join()这个函数,直到线程B终止。 一个线程终止后,如果没有别的线程对它join,那么该终止线程占用的资源,系统将无法回收,也叫作僵尸线程。因此,我们去join某个线程,意思是告诉操作系统,这个线程终止后的资源可以回收了 比如我们在main线程中创建了子线程,需要先等待子线程退出,最后才从main函数退出,这种情况下可以使用pthread_join()2.pthread_detach(...原创 2021-03-12 15:13:59 · 743 阅读 · 0 评论 -
在linux下使用gcc/g++编译.h .cpp文件
1.gcc编译C源码的四个步骤:预处理->编译->汇编->链接(test.c test.h => test.i => test.s => test.o => test)1)预处理 gcc -E test.c -o test.i2)编译 gcc -S test.i -o test.s3)汇编 gcc -c test.s -o test.o4)链接 gcc test.o -o test执行可执行文件test ./t...原创 2020-08-27 09:45:37 · 15102 阅读 · 1 评论 -
C++文件拷贝的一些
【task】做一个控制台程序的demo,具备两个参数输入,一个srcdir 一个dstdir,都是字符串文件夹地址类型,实现功能将srcdir地址的内的所有内容拷贝至dstdir中【解决方案】刚开始搜一些资料发现有很多用CopyFile函数来拷贝文件的,用法如下CopyFile("C:\\a.txt","C:\\b.txt",FALSE);只要输入源文件地址,以及目的文件地址...原创 2019-07-05 10:25:24 · 4352 阅读 · 1 评论 -
cmd运行.exe文件及main函数传参
1.项目生成解决方案,也就是会生成一个.exe文件,在Debug或Release文件夹下会找到,具体哪个要看你在哪个环境下生成2.打开cmd命令行输入exe文件做的路径,跳转至该目录下运行,如下D:\myproject\test1\Debug> test1.exe "我是参数1" "我是参数2"备注://在程序处理是int main(int argc, char *ar...原创 2019-07-04 10:31:43 · 9612 阅读 · 0 评论 -
C++头文件包含导致无法解析的外部符号问题
【问题背景】任务:C++实现文件拷贝,要求有界面输入源文件地址和目标文件地址,点击一个按钮将源文件夹下的全部都拷贝的目标文件夹下,另外最后的.exe要可以在cmd中输入两个参数实现同样的文件拷贝实现:界面用Qt事件,写一个copyFile函数有两个参数src和dst,点击按钮事件会调用copyFile函数并将界面获取的路径传入完成拷贝,main函数也接收参数,所以如果接收到说明用户...原创 2019-07-09 12:36:06 · 4344 阅读 · 0 评论 -
编程题记录
1.给出一个字符串A, 表示一个n位正整数, 删除其中k位数字, 使得剩余的数字仍然按照原来的顺序排列产生一个新的正整数。找到删除k个数字之后的最小正整数。N<= 240,k<=Nclass Solution {public: /** * @param A: A positive integer which has N digits,...原创 2019-04-01 23:06:47 · 299 阅读 · 2 评论 -
零碎知识点
记录一些零碎,里面有助于理解的是从各处找来的:)1.【C++】下面代码执行的输出结果class BASE{ public: ~BASE() { cout<<"BASE"; }};class DERIVE:public BASE{ public: ~DERIVE() { cout<<"DERIVE"; }};void ...原创 2019-04-03 18:08:54 · 298 阅读 · 0 评论 -
Android JNI之JAVA调用C/C++层
Android JNI之JAVA调用C/C++层1.编写本地调用类java文件加下新建类,类名TestNdk,内容如下package com.example.ibit.testjni;public class TestNdk { public native static int getStringFromNative(); //本地方法 static{ S...原创 2018-11-30 18:51:52 · 467 阅读 · 0 评论 -
while(cin>>str)如何结束循环
问题描述:在使用while(cin>>temp)进行循环接收输入时,会遇到while循环跳不出来解决方法:输入完数据后->回车->ctrl+z->回车至于为什么https://blog.csdn.net/misayaaaaa/article/details/53332219这里讲的比较详细,但是他只要说了ctrl+z...原创 2018-10-20 20:40:12 · 11828 阅读 · 0 评论 -
openCV的mat封装进json
任务要求:客户端把图片转成opencv的mat类型,封装进json,发给服务端,服务收到后解析json,再把mat把存成图片;用C++实现解决方案:发送和接收就不写了,这里只展示下如何封装以及如何解析。用到的头文件:1.nlohmann::json的json.hpp;2.csdn上找的用于base64编码的base64.h1)读取并封装 json j; Mat...原创 2018-08-17 12:48:42 · 3081 阅读 · 4 评论 -
c++实现socket以json格式传输图片
前天老师循序渐进的给了这个任务,具体任务内容如下,经过一天半的搜索拼凑调试,在各路csdn博主清晰明了的优秀文章的帮助下,最后总算是实现了,简单总结下。任务内容:1.C++实现socket通信;2.socket传输数据要封装成json格式;3.json传输图片具体实现:一、c++实现socket通信1.1.1服务端步骤:1、加载套接字库,创建套接字(WSAStartup()...原创 2018-08-13 10:28:26 · 5860 阅读 · 14 评论