• C++ 解引用与函数基础:内存地址、调用方法及声明

    时间:2024-04-12 22:14:20

    C++ 解引用获取内存地址和值在上一页的示例中,我们使用了指针变量来获取变量的内存地址(与引用运算符 & 一起使用)。但是,你也可以使用指针来获取变量的值,这可以通过使用 * 运算符(解引用运算符)来实现:string food = "Pizza"; // 变量声明string* ptr =...

  • C++11: 右值引用,移动语义,万能引用,完美转发,新的默认成员函数

    时间:2024-04-11 13:50:56

    C++11: 右值引用,移动语义,万能引用,完美转发,新的默认成员函数 一.左值和右值1.左值2.右值3.左值,右值和能否被修改的关系二.左值引用的好处和局限1.完全解决了传值传参时的深拷贝问题2.传引用返回时需要注意的点1.坑点:传引用返回用值接收2.传引用返回用引用接收3.应该怎么办?4...

  • 第六章 C语言函数简介

    时间:2024-04-10 08:47:56

    1.函数定义函数定义就是函数体的实现,函数体就是一个代码块,它在函数调用时执行,与函数定义相反,函数声明出现在函数被调用的地方。函数定义的语法:类型 函数名(形式参数)代码块代码块就是一对花括号,里面包含了一些声明和语句,因此最简单的函数大致如下:function_name(){}当这个函数被调用时...

  • C++ 重载运算符和重载函数

    时间:2024-04-09 20:30:52

    C++ 重载运算符和重载函数C++ 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。当您调用一个重载函数或重载运算符时,编译器通过把您所使用的参数类型与...

  • 浅谈C++虚函数

    时间:2024-04-09 12:33:37

    很长时间都没写过博客了,主要是还没有养成思考总结的习惯,今天来一发。我是重度拖延症患者,本来这篇总结应该是早就应该写下来的。一、虚函数表C++虚函数的机制想必大家都清楚了。不清楚的同学请参看各种C++入门书籍。这里,我要讨论一下这个虚函数机制究竟是怎么实现的。虚函数主要是靠一张VTABLE来实现的,...

  • 聊聊c++ dll的函数导出和加载

    时间:2024-04-09 12:32:59

    C++ DLL导出函数有两种方式(__declspec(dllexport)和.def文件)。c++加载DLL也有两种方式(静态链接和动态链接)。下面针对这4点分别进行讨论。一.用__declspec(dllexport)导出函数:例:extern "C" __declspec(dllexport)...

  • 基于proteus的51单片机仿真实例三十八、C语言的函数调用

    时间:2024-04-08 20:32:45

    1、函数调用C语言程序中函数是可以互相调用的(注意:主函数是唯一一个不能被调用的函数)。所谓函数调用就是在一个函数的执行过程中,引用另外一个已经定义或声明了的函数(注意:函数必须先声明后调用)。主调函数调用被调函数的一般形式为:函数名(实际参数表列)说明如下:函数名:指出被调用的函数实际参数列表:实...

  • C语言初阶—9函数

    时间:2024-04-08 20:12:52

    函数的声明 (main函数前)----告诉有一个函数 格式:  类型 函数名(参数); 函数的声明 放到头文件add.c 函数的定义 ----创建函数----放到add.c 格式:类型 函数名(参数) { 语句项; } 在文件中包含头文件 #include "add.h" 包含头文件-实质上就拷...

  • 《Effective C++》《构造/析构/赋值运算——9、绝不在构造和析构过程中调用virtual函数》

    时间:2024-04-07 19:15:12

    文章目录 1、Terms 9:Never call virtual functions during construction or destruction1.1为什么不要在构造、析构函数中调用 virtual 函数1.1.1经典错误1.1.2 隐藏错误1.2优化做法:2、面试相关3、总结4...

  • c/c++中的一些回调函数(callback)的理解

    时间:2024-04-05 16:40:28

            回调函数分为异步回调和同步回调两种,我们一般来说用的都是用异步的回调,使用我们下面强调一下异步的!异步:        异步回调函数——最核心的作用可以用一个生活中网购的例子来说明:        比如我在网上买了一样东西,就像程序中执行了一个任务(多用于线程中),但是我有不知道这个...

  • 【C语言进阶】- 内存函数-1.2 memcpy函数的使用

    时间:2024-04-05 11:37:07

    void* memcpy ( void * destination, const void * source, size_t num ); src 往 dest 传递数据的字节数 不用来处理重叠的内存之间的数据拷贝 #include <stdio.h>#include &l...

  • Effective C++ 第二版 31)局部对象引用和函数内new的指针 32)推迟变量定义

    时间:2024-04-04 08:28:05

    条款31 千万不要返回局部对象的引用, 不要返回函数内部用new初始化的指针的引用第一种情况: 返回局部对象的引用;局部对象--仅仅是局部的, 在定义时创建, 在离开生命空间时被销毁; 所谓生命空间, 指它们所在的函数体; 当函数返回时, 程序的控制离开这个空间, 函数内部所有的局部对象被自动销毁;...

  • C#面:虚函数和抽象函数的区别

    时间:2024-04-03 20:21:54

    C#中的虚函数和抽象函数都是实现多态性的重要概念,但它们有一些区别。 定义方式: 虚函数:在基类中使用 virtual 关键字定义,可以在派生类中被重写。抽象函数:在抽象类或接口中使用abstract 关键字定义,必须在派生类中被实现。实现方式: 虚函数:在基类中提供默认的实现,派生类可以选择性地重...

  • 【转】 谈谈C++中的swap函数

    时间:2024-04-03 18:41:58

    1,最通用的模板交换函数模式:创建临时对象,调用对象的赋值操作符。 template <class T> void swap ( T& a, T& b ) { T c(a); a=b; b=c; } 需要构建临时对象,一个拷贝构造,两次赋值操作。2,针对int型优化...

  • 模板:C++ sort函数

    时间:2024-04-03 16:10:51

            sort函数是我认为c++里超级方便的一个函数。本人不是什么大佬,本篇文章就是分享一下目前我学习sort函数的一些心得,当然还是以模板为主,帮助大家理解如何去用sort函数。 模板:         OK!我们先上模板,本次模板是以int arr[10]数组为例,对arr数组分别进行...

  • R语言与C语言混合编程——R语言中调用C语言函数(Windows+RStudio)

    时间:2024-04-02 17:01:35

    前言:第一次接触R中调用C,网上搜索这个问题,有关的记录太少了,并且遇到了不少问题,在此记录R中调用C函数的步骤以及遇到的一些问题及解决方案。这也是我的第一篇博客,有何不妥的望指出。参考链接:https://www.cnblogs.com/lmj-sky/p/10308988.htmlhttp://...

  • 《Effective C++》《构造/析构/赋值运算——8、别让异常逃离析构函数》

    时间:2024-04-01 10:10:12

    文章目录 1、Terms 8:Prevent exceptions from leaving destructors2、面试相关2.1. 析构函数是否可以抛出异常?为什么?2.2. 如果析构函数抛出异常,会有什么后果?2.3. 如何避免析构函数抛出异常?2.4. 构造函数和析构函数在异常处理...

  • C语言-malloc(申请函数)free(释放函数)

    时间:2024-04-01 07:48:34

     malloc和free的语法格式 `malloc` 函数是 C 语言标准库中的一个重要函数,用于动态分配内存。其语法如下: void *malloc(size_t size); 这里的 `void *` 表示返回的是一个 `void` 类型的指针,实际上这个指针指向的是一个 `char` 类型...

  • 1456 一维数组排序【使用sort函数巧解,以后再也不用写老长的冒泡排序代码了,附四种代码及如何新建C++代码源文件(最后一种时C中的qsort函数)】 Problem B

    时间:2024-03-30 09:45:44

    题目描述对一维数组按照从小到大的顺序排序。程序定义函数sort()来实现数组a的排序。函数原型如下:int sort(int a[], int n);数组元素的输出调用PrintArr()。输入第一行输入一个整数n(1<=n<=10),表示数组有n个整数;第二行输入n个整数。输出输出占一...

  • LINUX C语言学习之路——无参函数的定义及使用

    时间:2024-03-28 20:58:15

    无参函数的定义及使用如何来定义无参函数如何来使用无参函数无参函数的应用举例1.如何来定义无参函数无参函数的定义格式:void 函数名 (){代码}说明:函数名可以像变量名一样由用户自己取,但一定要符合c程序的语法规则无参函数括号里面有什么都不写,但是括号必须保留的函数要先定义在使用,是没有意义的只使...