【C++——函数(二)】教程文章相关的互联网学习教程文章

C++ Beep函数用法【图】

C++有很多API函数,其中有一个函数叫Beep,他的功能是发出蜂鸣,前提是有扬声器,利用Beep函数可以做出一些用蜂鸣弹出歌曲的程序,下面就来做一个两只老虎的播放程序。 这是两只老虎的简谱,下面来讲解代码。 首先我们#define一下用到的音符 #define do 523 #define re 578 #define mi 659 #define fa 698 #define so 784 #define la 880 #define si 990 #define do1 1046 #define qdo 262 #define qsi 494 好了这就是用到的音符...

C++类的构造函数、析构函数、赋值运算符函数、拷贝构造函数、移动赋值运算符函数、移动拷贝构造函数【代码】

C++类的构造函数学习笔记构造函数默认构造函数自定义构造函数析构函数默认析构函数自定义析构函数赋值运算符函数拷贝构造函数移动赋值运算符函数 和 移动拷贝构造函数小结 构造函数 默认构造函数 默认构造函数无需手写。对象定义方式: class DOT { private:int v; }; int main() {DOT a;return 0; }自定义构造函数 要求:函数名与类名一致、函数无返回值、公有成员。 自定义构造函数有两种写法,其中type 2可以使用相同的变量名:...

C++中的静态函数static【代码】

tool.h头文件中:#ifndef TOOL_H #define TOOL_H #include <QObject>class Tool;class Tool:public QObject{public:static QString tenString2HexStr(QString message); };#endif // TOOL_H源文件中tool.cpp :#include <tool.h>//数据转换参考 https://blog.csdn.net/biersibao/article/details/82884719 QString Tool::tenString2HexStr(QString message){QString hexString="";//"240,121,247" -----> [f0,79,f7]QStringList l...

C++仿函数(三)bind和lambda【代码】

头文件 #include<functional>1. bind 示例一 void useBindDemo() {set<int> myset;myset.insert(3);myset.insert(4);myset.insert(5);vector<int> vec;transform(myset.begin(), myset.end(), back_inserter(vec), bind(multiplies<int>(), placeholders::_1, 10));copy(vec.begin(), vec.end(), ostream_iterator<int>(cout, " ")); }示例二 //convert a regular function into functor double Pow(double x, double y) {return p...

[转]c++导出函数dll供c#调用

建立一个C++的Win32DLL 这里要注意选择"Export symbols"导出符号。点击完成。 如下图所示: 编写函数由于项目的名称是"TestCPPDLL",因此,会自动生成TestCPPDLL.h和TestCPPDLL.cpp两个文件,.h文件是要导出内容的声明文件,为了能清楚的说明问题,我们将TestCPPDLL.h和TestCPPDLL.cpp两个文件中的所有内容都删除,然后在TestCPPDLL.h中添加如下内容: 第一行代码中定义了一个名为"TESTCPPDLL_API"的宏,该宏对应的内容是"__declsp...

C++ 函数参数与按值传递【代码】

C++ 通常安值传递参数,这意味着将数值参数传递给函数,而后者将其赋给一个新的变量。double volume = cube(side);  其中,side 是一个变量。cube 的函数头为:double cube(double x); // x 可以不写  被调用时,该函数将创建一个新的名为 x 的 double 变量,cube() 使用了 side 的副本,不会影响 main() 中的数据。用于接收传递值的变量称为形参,传递给函数的值被称为实参。出于简化目的,C++ 标准使用参数( argument )...

c++函数返回类对象时, 返回对象生命周期的研究【代码】【图】

参考自: https://blog.csdn.net/RUN32875094/article/details/78462718一般的函数返回的对象是个临时对象, 在返回赋值语句完成后就会析构; 部分情况不会产生临时对象 1 #include <iostream>2 class aaa3 {4 public:5 aaa(int a1)6 :a(a1)7 {8 printf("gouzao %d %x\n", a,this);9 } 10 aaa() 11 :a(0) 12 { 13 printf("gouzao1 %d %x\n", a, this); 14 } 15 aaa(const aaa ...

C++ 第三天 Vector、函数【代码】【图】

1.Vector vector是一个动态增长的数组,它会随着我们添加的内容,会逐步的增加空间。实际上它并不是在原来的地方追加空间,而是开辟新的空间,然后把原来的数据都拷贝到新的空间里面去,接着让容器指向这块新的空间。 Vector其实很大程度上和数组一样,只是数组是固定长度,而vector是不定长度(动态增长)。vector更类似于Python中的列表可以进行增删改查,但Python的列表中可以 存储多种类型的数据,vector只能装单一类型的数据。...

C++中getline函数的用法【代码】

总结:cin 会忽略前导的空格字符,且会以中间的空格字符为分界;getline(cin, inputLine)函数可读取整行,包括前导和嵌入的空格,并将其存储在字符串对象中。 虽然可以使用 cin 和 >> 运算符来输入字符串,但它可能会导致一些问题。 当 cin 读取数据时,它会传递并忽略前导的空格字符(空格、制表符或换行符)。一旦它接触到第一个非空格字符即开始阅读,当它读取到下一个空白字符时,它将停止读取。以下面的语句为例cin >> name...

C++ 复习函数的基本知识【代码】【图】

C++ 复习函数的基本知识要使用 C++ 函数,必须完成如下工作:1. 提供函数定义;2. 提供函数原型;3. 调用函数。例子:#include <iostream> using namespace std; void simple(); // function prototype int main() {cout << "main() will call the simple() function.\n";simple();cout << "main() is finished with the simple() function.\n";return 0; } void simple() {cout << "Im but a simple function.\n"; }  下面是程序...

C++函数重载【代码】【图】

一、函数重载的概念 在实际开发中,有时候我们需要实现几个功能类似的函数,例如把变量的值写入文件,变量的类型可能是int、long、double、char,通过参数把变量传入函数。在C语言中不允许函数同名,程序员只能设计出四个不同名的函数,其函数声明如下:bool writetofile_int(char *filename,int value); // 写入intbool writetofile_long(char *filename,long value); // 写入longbool writetofile_double(char *filename,doubl...

C++ array 数组函数【代码】【图】

1.头文件:#include<array> 2.和数组有什么区别? 更安全,建议用其代替数组! 3.用法: array<int ,19>s 代表着 s[19] 并且里面的元素是int型 值得注意的是 array此时的数组并没有初始化 array 初始化的方法: (1) #include<iostream> #include<algorithm> #include<array> using namespace std; main(){array<int,3>m{0};for(auto i:m)cout<<m[i]<<" ";return 0; }结果为: (2) 代码为:#include<iostream> #include<alg...

g++编译时C++类中模板成员函数特化编译报错【代码】

特化需要在命名空间里做,不能在类中直接特化一个类模板,但可以放到类外来做。也可在类之内用偏特化,然后传入一个dummy template argument。 来源:https://stackoverflow.com/questions/3052579/explicit-specialization-in-non-namespace-scopetemplate<typename T> class CConstraint { public: CConstraint() { }virtual ~CConstraint() { }template <typename TL> void Verify(int position, int constraints[]) { }temp...

c++内置函数的使用【代码】

/* time:20200415 where:gfdx man:g-7.net function:体验内置函数*/ #include<iostream> using namespace std; inline float circle(float r)//内置函数 {return 3.14159 * r * r; } int main() {for (int i = 1; i <= 10; i++)//c++可灵活定义变量{cout << "r=" << i <<\t<< "area=" << circle(i) << endl;}return 0; } 注意事项: 内置函数在调用之前必须进行完整的定义,内置函数通常写在主函数前面。

c/c++ 在main之前运行函数,在main结束后运行的函数【代码】【图】

在gcc编译环境下,使用__attribute__关键字实现 原理:全局对象的构造函数在 main 函数之前 __attribute__((constructor)) __attribute__((destructor)) __attribute__((constructor)) void before() {cout << "befor" << endl; }__attribute__((destructor)) void after() {cout << "after" << endl; }int main() {cout << "main" << endl;return 0; }