| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 如何调用库和创建库(跑路人笔记) -> 正文阅读 |
|
[C++知识库]如何调用库和创建库(跑路人笔记) |
文章目录如何学习C++知乎大佬的见解:http://www.zhihu.com/question/23933514. 自己如何学习C++既然C++以复杂的语法规则难搞懂的语法和冗长的格式来劝退众人所以如何学习C++就很重要了. 根据比特推荐的方法是
开始入门命名空间
命名空间定义
ok,上面的代码大家也可以看出来命名空间里面可以放
也就是说我们在命名空间创建的变量和外面的以及其他命名空间的变量是相互独立的,哪怕名字类型都相同也是没有问题的. 那我们如何从命名空间里拿到我们的变量呢? 也很简单我们只需要按照 如下图: 比如我们想访问ssw里的a元素我就只需要ssw::a;即可这个ssw::a可以正常的像一般变量那样正常使用可以进行
如下图: 也就是说只要是 但是有时候我们想把一个命名空间里的东西放出来(及可以直接使用变量名来使用,之前的 使用
但是要注意的是我们把a放出来后就不能在在全局部分再创建一个a了,不然会无法编译. 如下图:(虽然没有报错但是无法编译,所以大家放变量出来的时候一定要注意) C++的输入输出这个时候我们就可打印"Hello World!"了,梦开始的地方了属于是.
对这个世界问过好了之后我们来拆解一些这个打印到底都在感谢什么.这个 cout是标准输出对应的还有cin然后endl其实就是 至于 而且cout和cin不用指认类型可以直接使用 缺省函数缺省参数概念
缺省函数其实就是给函数参数装 如何给我们的函数参数装 如下图的 上面的Add函数就安好了备胎,及当我们在不给Add传参数时,就让n1和n2的值为备胎值也就是n1=1,n2=2; 但是我们就只想给n1传值呢?那就想第二个传参一样只给个2就好这样,n1=2了 但是我们只想给n1传值呢?答案是不可以🤪. 但是我们只想给一个或不是全部函数参数安备胎要怎么办呢? 答案是:可以但是只能从右往左安备胎而且中间不能有间隔. 这样安备胎的我们是不可以传空值的,而且对应没有安备胎的值是不可以不传参的. 必须注意的是,在安备胎的函数上我们的函数声明这么办呢? 不能同时在一个函数的函数声明和定义上安备胎 如下图 所以我们安备胎的时候要选是在声明处还是定义处. 函数重载
注意:上面的不同的是形参列表而返回类型的不同并不可以构成函数重载. 下面的Add函数都可以构成重载函数
还有不同类型参数的不同放置顺序也是可以构成重载函数. 那么为什么函数重载在C++可以发生呢? 函数重载的原因此知识需要看程序的编译(预处理操作) 我们知道我们的在编译的编译阶段(没错,是编译的编译阶段),会有语法检查等一系列操作,如果发现有同名函数就会发生报错并停止后续操作. 而我们的C++对函数的在编译阶段的命名用了新的格式. 如下图: 上图是 其中
从上面可以看出我们C++在给命名的时候并没有考虑到返回类型所以返回类型不同并不可以实现重构函数. 而我们的C语言是直接拿函数名当做汇编时的命名. 如下图: 而我们的编译器在连接的时候会把符号表里名字相同的进行链接操作,所以C语言不能进行函数重载操作. 库的调用c和c++的库之间是可以互相调用的. 调用关系如下图: 不过我们说的库是静态库和动态库所以先看一下如何建立静态库.(下面以静态库讲解). 我们就只讲C调用C++的其他除了部分细节(会在文章中讲到,其他都相同). 静态库的建立我们先讲cpp静态库被c引用的静态库.(不过静态库的建立都是一样的) 我们随便的建立一个项目并写一些函数 记得引上函数的头文件不引头文件会在你引用的时候报错,报错称连接错误. 是的我们在建立库的时候是不需要 下面开始讲解步骤: 跟着上面的步骤就可以得到我们的静态库了. 静态库的引用**注意这里选的是静态库的文件夹!!!**而不是文件本身. ok,这样我们的建立和引用就完成了=.= 库的使用库的使用时我们需要引用他的头文件,我们可以直接把文件路径复制下来然后include即可. 或者我们使用 比如我们的testcpp的头文件路径如下 而我们testc的文件路径如下 我们只需返回两次上级然后再根据testcpp 的路径找到头文件即可. 如下: 然后我们就可以正常的使用函数了. 头文件部分我们的头文件既需要我们的C++类型函数调用又需要C语言的调用.所以我们需要 extern “C”介绍一下
C++引用C库时使用:
作用
C引用C++库的extern "C"使用但是相同的是无论是上面那种情况都是对C++的部分进行操作. 再引入一个概念 如下图. 所以我们可以通过 如下图: 我们也可以用第两种方式来进行 出现的错误记录一下写博客时发生的错误 没引头文件错误(未搞定)未搞定,不是很懂静态库的过程 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 18:40:43- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |