C++知识点
正文
一、控制台不跳出
system("pause");
需要引用:#include <string>
二、头文件
为了与 C兼容,C++保留了 C语言中的一些规定。其中之一是头文件的形式。
在 C 语言中头文件用.h 作为后缀,如 stdio.h, math.h, string.h 等。
在C++发展初期,为了和 C语言兼容,许多 C++编译系统保留了头文件以.h 为后缀的用法,如 iostream.h。
但后来ANSI C++建议 头文件不带后缀.h,近年退出的C++编译系统新版本采用了C++的新方法,提供了一批不带.h的头文件,如用iostream,string等作为头文件名。两种都可以用。
由于 C语言无命名空间,因此用带后缀的.h 的头文件时不必用“using namespace std;”作声明。
三、输出控制台显示中文乱码
试下:开始执行(不调试)
若不行的话,首先看下CMD命令行的活动页:
参考:window7 cmd无法输入汉字问题、无效代码页问题的解决
在控制面板中将“系统区域”改成了“英语(美国)”,将系统重启;然后再将系统区域设置改成“中文(简体,中国)”,重启,问题解决,久违的汉字终于回来了。
更多参考:https://blog.csdn.net/qq_35343446/article/details/79489917
四、C++中添加类
以Point类为例:
键入Point会显示出一个.h文件,一个.cpp文件,点击完成,会出现一个源文件,一个头文件。
1、头文件:在Point.h文件中编入代码(类的定义),是关于一些成员函数的声明 #Pragma once 是表示只读一次
2、源文件:主要是Point.h中的函数的实现,要引入Point.h头文件,所以要写入#include“Point.h"
五、引入OpenCV编译链接错误
1、hello.cpp(2): fatal error C1083: Cannot open include file: 'opencv2/opencv.hppp': No such file or directory
一个是头文件的文件名拼写错误;
二是未将头文件所在路径添加到开发环境中。项目属性中设置~
2、链接
1>hello.obj : error LNK2019: unresolved external symbol "class cv::Mat __cdecl cv::imread(class std::basic_string<char,struct
std::char_traits<char>,class std::allocator<char> > const &,int)"
(?imread@cv@@YA?AVMat@1@ABV?$basic_string@DU?$char_traits@D@std@@ V?$allocator@D@2@@std@@H@Z) referenced in function _main
“unresolved external symbol”,更具体的意思是在 main 函数中使用了 imread 函数,但是无法从外部找到 imread。
opencv.hpp 头文件告诉编译器有个 imread 函数可以用,编译通过;但是到了连接时,连接器却找不到 imread的具体实现,故出错。
要解决这一问题,需要将依赖的库文件添加到项目设置中。
六、C++的dll/exe 反编译
查看依赖关系 dependency walker(depends)
书籍
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步