C++ 函数
第二章 C++函数
1.值传递
值传递: 值传递时,形参是修饰不了实参的。
C++中string字符串赋值
string s="";
string a="abcdefg";
1.将字符串a的元素赋值逐一赋值给另一字符串s
s+=a[i];
2.将字符串a完全赋值给新字符串s
s.assign(a);
3.将字符串a的一部分赋值给新的字符串s
start是截取字符串的首位置,len是截取字符串的长度
s.substr(start,len);
s.assign(a,start,len);
4.对字符串s赋相同的n个初值
s.assing(n,'x'),如给s赋10个字符a写法如下:
s.assign(10,'a');
来自:https://www.cnblogs.com/cff2121/p/9892045.html
static void swap( string a,string b){//a,b是形参
string temp="";
temp.assign(a);
a.assign(b);
b.assign(temp);
}
static void dog(){
string dogOne="笨笨";
string dogTwo="聪聪";
swap(dogOne,dogTwo);
cout<<dogOne<<"\t"<<dogTwo<<endl;//dogOne和dogTwo没有改变
}
2.函数的声明
告诉编译器函数名称及如何调用函数。函数的实际主体可以单独定义。
//声明可以多次,定义只能一次
void guanJianZi();
void guanJianZi();
int main() {
guanJianZi();
return 0;
}
//关键字
void guanJianZi() {
cout << "Hello, World!" << endl;
cout << "圆周率Π的值:" << p << endl;
const int attack=10;
int *q=(int *)&attack;
*q=12;
cout << attack << endl;
}
3.函数的分文件编写
- 创建后缀名为.h的头文件
- 创建后缀名为.cpp的源文件
- 在头文件中写函数的声明
- 在源文件中写函数的定义
//valuePush.h文件
#ifndef DEMO1_VALUEPUSH_H
#define DEMO1_VALUEPUSH_H
#include <iostream>
using namespace std;
void swap( string a,string b);
void dog();
#endif //DEMO1_VALUEPUSH_H
//valuePush.cpp文件
#include "valuePush.h"
#include <iostream>
#include <string>
template<typename T, size_t N>
char(&ArraySizeHelper(const T(&array)[N]))[N];
#define ARRAY_SIZE(array) (sizeof(ArraySizeHelper(array)))
void swap(string a,string b){
string temp="";
temp.assign(a);
a.assign(b);
b.assign(temp);
}
void dog(){
string dogOne="笨笨";
string dogTwo="聪聪";
swap(dogOne,dogTwo);
cout<<dogOne<<"\t"<<dogTwo<<endl;
}
//main文件
int main() {
dog();
return 0;
}
//