C++
文章平均质量分 81
xinyuerr
这个作者很懒,什么都没留下…
展开
-
C/C++ 基本语法
C++加入了面向对象设计的内容,如类、继承、封装、虚函数、模板、包容器类等。// 借助和(存在溢出风险)voidswap(int& a,int&b)使用C库内声明的变量和函数。编译阶段只需要头文件,链接时寻找匹配的定义。自定义数据类型,++i可以返回引用,i++只能返回对象值(拷贝开销)注意:C++拥有面向对象特性,但不是真正面向对象化的(java)。说明内部变量或函数是按照C的标准编译、链接,解决名字匹配问题。C实现了C++中过程化控制和其他功能。C++中的C部分引入了重载,,C不支持(识别为重定义)原创 2023-12-27 14:15:04 · 319 阅读 · 0 评论 -
JAVA与C++区别浅谈
可怕”的goto语句是c和c++的“遗物”,它是该语言技术上的合法部分,引用goto语句引起了程序结构的混乱,不易理解,goto语句子要用于无条件转移子程序和多结构分支技术。c十十增加了类,提供了类算法,该算法是与类相连的函数,c十十类方法与Java类方法十分相似,然而,由于c十十仍然支持c,所以不能阻止c十十开发人员使用函数,结果函数和方法混合使用使得程序比较混乱。操作符重载被认为是c十十的突出特征,在Java中虽然类大体上可以实现这样的功能,但操作符重载的方便性仍然丢失了不少。原创 2023-12-13 11:23:13 · 29 阅读 · 0 评论 -
学编程,是选Python还是C 好呢
Python,借助一些现成的平台工具,比如真格量化,可以比较快捷地实现策略研发和交易执行,对资源有限、“身兼数职”的投资者来说是更好的选择。综合看来,除非对执行速度有绝对高的要求,对于中小投资机构和个人投资者,Python这个脚本语言多数时候是更好的选择。即便是专门针对高频策略,需要将其逻辑用C++编码以获取更高的执行速度,在策略研发和小规模实盘测试阶段Python也能为您节约大量的时间和人力成本。的脚本语言,比如Python,还是用比较传统的、编写复杂、需要编译的编程语言,比如C++呢?原创 2023-12-12 22:54:48 · 40 阅读 · 0 评论 -
关于HTML、CSS与JS浅谈
掘金 浏览器 渲染原理 构建DOM树 复制代码。} 掘金 浏览器 渲染原理 构建DOM树原创 2023-12-05 21:30:41 · 37 阅读 · 0 评论 -
C++变量存储类别
一般情况下,变量时存在内存中的,如果有一些变量使用频繁,如一个循环循环1000次,每次都要引用某个局部变量,这时,我们就可以声明一个寄存器变量,以加快运算速度。例如: Int a,b;其实这就是一个常量修饰符,相当于预定义#define,const的特点就是它的值是不能改变的,一旦定义,值就是固定的了。扩展作用域,如果找不到,就在连接时从其他文件中找到外部变量的定义,如果找到了就扩展到本文件的作用域,再找不到就报错。(2) 在编译遇到extern时,先在本文件中找到外部变量的定义,如果找到,就在本文中。原创 2023-11-27 16:18:05 · 29 阅读 · 0 评论 -
JAVA和C++区别对比浅谈
可怕”的goto语句是c和c++的“遗物”,它是该语言技术上的合法部分,引用goto语句引起了程序结构的混乱,不易理解,goto语句子要用于无条件转移子程序和多结构分支技术。c十十增加了类,提供了类算法,该算法是与类相连的函数,c十十类方法与Java类方法十分相似,然而,由于c十十仍然支持c,所以不能阻止c十十开发人员使用函数,结果函数和方法混合使用使得程序比较混乱。操作符重载被认为是c十十的突出特征,在Java中虽然类大体上可以实现这样的功能,但操作符重载的方便性仍然丢失了不少。原创 2023-11-26 20:17:24 · 89 阅读 · 0 评论 -
盘点C++知识要点
(2)可以用派生类的对象初始化基类对象的引用;在创建派生类的对象时,系统将首先调用其基类的构造函数来初始化从基类中继承的数据成员,然后调用派生类自身的构造函数初始化在派生类中新声明的数据成员。终止对象时,析构函数的执行顺序则正好相反,即先调用派生类的析构函数清除派生类中新声明的数据成员,再调用基类的析构函数清除从基类中继承的数据成员。2、是需要用参数初始化的基类名、对象成员名及各自对应的参数表,基类名和对象成员名之间的顺序可以是任意的,且对于使用默认构造函数的基类和对象成员,可以不列出基类名和对象成员名。原创 2023-11-24 10:37:20 · 136 阅读 · 0 评论 -
C/C++ 程序基本语法浅谈
C++加入了面向对象设计的内容,如类、继承、封装、虚函数、模板、包容器类等。// 借助和(存在溢出风险)voidswap(int& a,int&b)自定义数据类型,++i可以返回引用,i++只能返回对象值(拷贝开销)注意:C++拥有面向对象特性,但不是真正面向对象化的(java)。}// 借助异或voidswap(int& a,int& b)说明内部变量或函数是按照C的标准编译、链接,解决名字匹配问题。C实现了C++中过程化控制和其他功能。借助异或(相同为0,不同为1)C++中的C部分引入了重载,原创 2023-11-20 12:20:54 · 29 阅读 · 0 评论 -
关于C++变量存储类别浅谈
一般情况下,变量时存在内存中的,如果有一些变量使用频繁,如一个循环循环1000次,每次都要引用某个局部变量,这时,我们就可以声明一个寄存器变量,以加快运算速度。例如: Int a,b;其实这就是一个常量修饰符,相当于预定义#define,const的特点就是它的值是不能改变的,一旦定义,值就是固定的了。扩展作用域,如果找不到,就在连接时从其他文件中找到外部变量的定义,如果找到了就扩展到本文件的作用域,再找不到就报错。(2) 在编译遇到extern时,先在本文件中找到外部变量的定义,如果找到,就在本文中。原创 2023-11-19 14:20:39 · 31 阅读 · 0 评论 -
C/C++ 基本语法
C++加入了面向对象设计的内容,如类、继承、封装、虚函数、模板、包容器类等。// 借助和(存在溢出风险)voidswap(int& a,int&b)使用C库内声明的变量和函数。编译阶段只需要头文件,链接时寻找匹配的定义。自定义数据类型,++i可以返回引用,i++只能返回对象值(拷贝开销)注意:C++拥有面向对象特性,但不是真正面向对象化的(java)。说明内部变量或函数是按照C的标准编译、链接,解决名字匹配问题。C实现了C++中过程化控制和其他功能。C++中的C部分引入了重载,,C不支持(识别为重定义)原创 2023-11-14 16:36:18 · 29 阅读 · 0 评论 -
C++函数重载及使用方法
为了了解编译器是如何处理这些重载函数的,我们反编译下上面我们生成的执行文件,看下汇编代码(全文都是在Linux下面做的实验,Windows类似,你也可以参考《一道简单的题目引发的思考》一文,那里既用到Linux下面的反汇编和Windows下面的反汇编,并注明了Linux和Windows汇编语言的区别)。上面print(12)会去调用print(int),print("hello world")会去调用print(string),如下面的结果:(先用g++ test.c编译,然后执行)原创 2023-11-11 17:17:58 · 155 阅读 · 0 评论 -
VC++类库函数浅谈
/设置菜单的风格,(TYPE_XP, TYPE_noRMAL) cofficeXPMenu *psub = (cofficeXPMenu *)m_menu.GetSubMenu(0);nItem--------指定将被设置的条目索引。nSubItem---------指定了将被设置文本的条目子项的索引。//int InsertItem(i,s,0)调用该函数以向列表中插入新条目 返回新条目索引值 //相当于插入新的一行 数字代表列数 m_Listctrlx.InsertItem(i,s,0);原创 2023-11-10 09:40:40 · 35 阅读 · 0 评论 -
关于C++变量存储类别介绍
一般情况下,变量时存在内存中的,如果有一些变量使用频繁,如一个循环循环1000次,每次都要引用某个局部变量,这时,我们就可以声明一个寄存器变量,以加快运算速度。例如: Int a,b;其实这就是一个常量修饰符,相当于预定义#define,const的特点就是它的值是不能改变的,一旦定义,值就是固定的了。扩展作用域,如果找不到,就在连接时从其他文件中找到外部变量的定义,如果找到了就扩展到本文件的作用域,再找不到就报错。(2) 在编译遇到extern时,先在本文件中找到外部变量的定义,如果找到,就在本文中。原创 2023-11-06 22:35:55 · 68 阅读 · 0 评论 -
编程入门:C/C++ 基本语法
C++加入了面向对象设计的内容,如类、继承、封装、虚函数、模板、包容器类等。// 借助和(存在溢出风险)voidswap(int& a,int&b)使用C库内声明的变量和函数。编译阶段只需要头文件,链接时寻找匹配的定义。自定义数据类型,++i可以返回引用,i++只能返回对象值(拷贝开销)注意:C++拥有面向对象特性,但不是真正面向对象化的(java)。说明内部变量或函数是按照C的标准编译、链接,解决名字匹配问题。C实现了C++中过程化控制和其他功能。C++中的C部分引入了重载,,C不支持(识别为重定义)原创 2023-11-05 23:12:28 · 38 阅读 · 0 评论 -
C++函数重载与使用方法介绍
为了了解编译器是如何处理这些重载函数的,我们反编译下上面我们生成的执行文件,看下汇编代码(全文都是在Linux下面做的实验,Windows类似,你也可以参考《一道简单的题目引发的思考》一文,那里既用到Linux下面的反汇编和Windows下面的反汇编,并注明了Linux和Windows汇编语言的区别)。上面print(12)会去调用print(int),print("hello world")会去调用print(string),如下面的结果:(先用g++ test.c编译,然后执行)原创 2023-10-31 09:04:36 · 149 阅读 · 0 评论 -
关于C/C++ 基本语法集合分享
C++加入了面向对象设计的内容,如类、继承、封装、虚函数、模板、包容器类等。// 借助和(存在溢出风险)voidswap(int& a,int&b)使用C库内声明的变量和函数。自定义数据类型,++i可以返回引用,i++只能返回对象值(拷贝开销)注意:C++拥有面向对象特性,但不是真正面向对象化的(java)。C++ 支持通过域操作符访问全局变量,C不支持(识别为重定义)说明内部变量或函数是按照C的标准编译、链接,解决名字匹配问题。C实现了C++中过程化控制和其他功能。C++中的C部分引入了重载,原创 2023-10-26 16:53:41 · 80 阅读 · 0 评论 -
C++函数重载
为了了解编译器是如何处理这些重载函数的,我们反编译下上面我们生成的执行文件,看下汇编代码(全文都是在Linux下面做的实验,Windows类似,你也可以参考《一道简单的题目引发的思考》一文,那里既用到Linux下面的反汇编和Windows下面的反汇编,并注明了Linux和Windows汇编语言的区别)。上面print(12)会去调用print(int),print("hello world")会去调用print(string),如下面的结果:(先用g++ test.c编译,然后执行)原创 2023-10-26 10:40:47 · 29 阅读 · 0 评论 -
C++ 数据封装和数据抽象介绍
让我们举一个现实生活中的真实例子,比如一台电视机,您可以打开和关闭、切换频道、调整音量、添加外部组件(如喇叭、录像机、DVD 播放器),但是您不知道它的内部实现细节,也就是说,您并不知道它是如何通过缆线接收信号,如何转换信号,并最终显示在屏幕上。私有成员 total 是对外隐藏的,用户不需要了解它,但它又是类能正常工作所必需的。这是实现封装的一种方式。因此,我们可以说电视把它的内部实现和外部接口分离开了,您无需知道它的内部实现原理,直接通过它的外部接口(比如电源按钮、遥控器、声量控制器)就可以操控电视。原创 2023-10-10 11:00:59 · 49 阅读 · 0 评论 -
怎么区分C++中的inline和#define宏
而且内联函数是真正的函数,只是在需要用到的时候,内联函数像宏一样的展开,所以取消了函数的参数压栈,减少了调用的开销。内联函数与带参数的宏定义进行下比较,它们的代码效率是一样,但是内联欢函数要优于宏定义,因为内联函数遵循的类型和作用域规则,它与一般函数更相近,在一些编译器中,一旦关上内联扩展,将与一般函数一样进行调用,比较方便。当然,内联函数也有一定的局限性。1、 inline 定义的类的内联函数,函数的代码被放入符号表中,在使用时直接进行替换,(像宏一样展开),没有了调用的开销,效率也很高。原创 2023-10-10 14:41:44 · 62 阅读 · 0 评论 -
关于c++内联函数inline用法实例介绍
如果在类中未给出成员函数定义,而又想内联该函数的话,那在类外要加上 inline,否则就认为不是内联的。内联函数的inline要加在函数前面,不可以加在声明前面。inline 的使用是有所限制的,inline 只适合涵数体内代码简单的涵数使用,不能包含复杂的结构控制语句例如 while、switch,并且不能内联函数本身不能是直接递归函数(即,自己内部还调用自己的函数)。1. 内联函数作用:为了解决一些频繁调用的小函数大量消耗栈空间(栈内存)的问题,特别的引入了 inline 修饰符,表示为内联函数。原创 2023-10-10 22:48:40 · 44 阅读 · 0 评论 -
C++中的inline用法浅谈
在老的实现中,结果很不尽人意,虽然在新的实现中有很大的改善,但是仍然还是不那么完善的。inline的使用是有所限制的,inline只适合涵数体内代码简单的涵数使用,不能包含复杂的结构控制语句例如while、switch,并且不能内联函数本身不能是直接递归函数(即,自己内部还调用自己的函数)。inline函数仅仅是一个对编译器的建议,所以最后能否真正内联,看编译器的意思,它如果认为函数不复杂,能在调用点展开,就会真正内联,并不是说声明了内联就会内联,声明内联只是一个建议而已。原创 2023-10-10 15:04:55 · 58 阅读 · 0 评论 -
C/C++关于实现CAN信号的获取方法
本文主要介绍了C/C++关于实现CAN信号的获取方法,标准的CAN 数据为8字节,即64位,但是CAN FD的最大数据可为64字节,为512位,其中的帧ID分为标准帧和扩展帧,其中用11位标准帧,用29位表示扩展帧。原创 2023-10-07 14:38:08 · 349 阅读 · 0 评论 -
关于C++实现 vector 的四则运算
现在我们来重头再看看这一小段奇怪的代码,显然关键在于 VecTmp 这个类,我们可以发现,它的接口其实很简单直白,但它的类型却可以是那么地复杂,比如说对于 v1 + v2 * v3 这个表达式,它的结果的类型是这样的: VecTmp,如果表达式再复杂些,它的类型也就更复杂了,如果你看仔细点,是不是还发现这东西和哪里很像?因此求值就变成一次简单的中序遍历,那么我们的 vector 运算是否也可以这样做呢?原创 2023-09-19 11:31:13 · 316 阅读 · 0 评论 -
关于C++中的memset用法介绍
memset是一个初始化函数,作用是将某一块内存中的全部设置为指定的值。s指向要填充的内存块。c是要被设置的值。n是要被设置该值的字符数。返回类型是一个指向存储区s的指针。需要说明的几个地方memset函数在初始化处理时非常方便,但也有其局限性,比如要注意初始化数值,要注意字节数等等。当然,直接选择用for循环或while循环来进行初始化也是可以的,只不过memset更快捷一些。微点阅读。原创 2023-09-20 09:27:43 · 288 阅读 · 0 评论