c++语言的学习笔记代码与笔记注释《函数部分》
具体的笔记以注释的形式写在代码内,每个知识点用函数的形式表现。
#include <iostream>;
#include<cmath> const double PI=3.1415926;
int func(int& a,int& b){
int c = a+b;
int t =a;
a=b;
b=t;
//值引用,与语义引用
//交换a,b的值,从内存中改变。
return c;
} int func1(){ //&取地址;
int P;
P=;
std::cout<<""<<&P<<std::endl;
return ; //inline 关键字表明这个函数在编译的时候推荐编译为内联函数,
//即,将函数体嵌入在调用的位置。
}
inline double func2(double l){
return PI*l*l;
//函数体足够简单时可以减少函数调用和返回的开销。
} //关于constexpr函数的使用。
//必须注意的是return的返回值必须是常量值。 constexpr int func3(){
return ; }
//默认参数值的函数,的使用。
int func4(int a,int b =,int c =){
if (b!=) {
std::cout << "b的值为:" << b<<"\n";
std::cout << "不是函数默认的值";
}else if(c!=){
std::cout<<"c的值为:\n";
std::cout<<"c不是函数默认值!\n";
}else{
std::cout<<"b,c为默认值\n"; }
} //函数的重载的使用方法
//注意:参数名不能区分重载函数,返回值不能区分重载函数,不要把不同功能的函数声明为重载函数,以避免混淆误解
//第一种情况是参数类型不同,第二中情况是参数的个数不同
//第一种(第二种类似) int sumOfsquare(int a,int b){
return a+b;
}
double sumOfsquare(double a,double b){
return a+b;
} //可变长度的形参表,可变参数。
//1、使用initialer_list的标准库类型
//initialer_list的参数的类型必须是相同的。
//2如果实参的类型是不同的,需要 编写可变参数的模板。 //initialer_list其对象永远是常量值,不能改变。
//可以有其他类型的参数。
//initialer_list的主要方法:
//initialer_list<T> lst; 默认初始化;T类型的空列表
//initialer_list<T> lst{a,b,c...};
//lst.size()列表中的元素数量
//lst.begin 返回指向lst首元素的指针
//lst.end() 返回lst尾元素下一位置的指针 int main(){
//int func(int& a, int& b);
int a ,b;
a=;
b =;
std::cout<<"赋值前a:"<<a<<",赋值前b:"<<b<<std::endl;
int ls =func(a,b);
std::cout<<"id of a:"<<&ls<<std::endl;
std::cout<<"a="<<a<<","<<"b="<<b<<std::endl;
// int func1();
func1();
double pi=func2(2.00000000);
std::cout<<pi<<"\n";
std::cout<<"关于constexpr函数的用法:"<<func3()<<"\n"<<std::endl;
func4(,);
int sum = sumOfsquare(,);
double sum1 =sumOfsquare(2.111,2.0101);
printf("\n%d %.10f",sum,sum1);
std::cout<<"\nint sum:"<<sum<<"\ndouble sum:"<<sum1<<"\n";
std::cout<<sin();
// cmath里的函数值是需要输入弧度的。”系统函数“的使用。
return ;
}
运行结果
/home/leo/CLionProjects/yinyong/cmake-build-debug/yinyong
赋值前a:,赋值前b:
id of a:0x7ffeab257ac0
a=,b=
0x7ffeab257a84
12.5664
关于constexpr函数的用法: b的值为:
不是函数默认的值
4.1211000000
int sum:
double sum:4.1211
-0.988032
Process finished with exit code
c++语言的学习笔记代码与笔记注释《函数部分》的更多相关文章
- c++语言的学习笔记代码与笔记注释《面向对象部分》
#include <iostream> /*这是C++中关于面向对象部分的具体笔记和代码 */ //定义类的语法形式; //类中的成员项目之间相互引用,直接使用成员; //类外引用成员的时 ...
- 初探swift语言的学习笔记(闭包-匿名函数或block块代码)
使用Block的地方很多,其中传值只是其中的一小部分,下面介绍Block在两个界面之间的传值: 先说一下思想: 首先,创建两个视图控制器,在第一个视图控制器中创建一个UILabel和一个UIButto ...
- # C语言假期学习笔记——6
C语言假期学习笔记--6 数组 主要学习了一位数组和二维数组. 数组是一组具有相同类型的变量的集合.C语言程序通过元素的下标来访问数组中的元素.(下标从0开始) 一位数组 类型 数组名[元素个数] 二 ...
- R语言可视化学习笔记之添加p-value和显著性标记
R语言可视化学习笔记之添加p-value和显著性标记 http://www.jianshu.com/p/b7274afff14f?from=timeline 上篇文章中提了一下如何通过ggpubr ...
- CTR学习笔记&代码实现2-深度ctr模型 MLP->Wide&Deep
背景 这一篇我们从基础的深度ctr模型谈起.我很喜欢Wide&Deep的框架感觉之后很多改进都可以纳入这个框架中.Wide负责样本中出现的频繁项挖掘,Deep负责样本中未出现的特征泛化.而后续 ...
- CTR学习笔记&代码实现3-深度ctr模型 FNN->PNN->DeepFM
这一节我们总结FM三兄弟FNN/PNN/DeepFM,由远及近,从最初把FM得到的隐向量和权重作为神经网络输入的FNN,到把向量内/外积从预训练直接迁移到神经网络中的PNN,再到参考wide& ...
- CTR学习笔记&代码实现4-深度ctr模型 NFM/AFM
这一节我们总结FM另外两个远亲NFM,AFM.NFM和AFM都是针对Wide&Deep 中Deep部分的改造.上一章PNN用到了向量内积外积来提取特征交互信息,总共向量乘积就这几种,这不NFM ...
- CTR学习笔记&代码实现5-深度ctr模型 DeepCrossing -> DCN
之前总结了PNN,NFM,AFM这类两两向量乘积的方式,这一节我们换新的思路来看特征交互.DeepCrossing是最早在CTR模型中使用ResNet的前辈,DCN在ResNet上进一步创新,为高阶特 ...
- CTR学习笔记&代码实现6-深度ctr模型 后浪 xDeepFM/FiBiNET
xDeepFM用改良的DCN替代了DeepFM的FM部分来学习组合特征信息,而FiBiNET则是应用SENET加入了特征权重比NFM,AFM更进了一步.在看两个model前建议对DeepFM, Dee ...
随机推荐
- 蓝桥杯 算法训练 ALGO-143 字符串变换
算法训练 字符串变换 时间限制:1.0s 内存限制:256.0MB 问题描述 相信经过这个学期的编程训练,大家对于字符串的操作已经掌握的相当熟练了.今天,徐老师想测试一下大家对于字符串操作的掌 ...
- C++字符集问题终极分析(可解决乱码问题)
最近研究vc,windows的东西真是很傻瓜,啥都给你做好,有个好处就是开发方便了. 有个弊端就是完全按微软的一套进行,规则都是它定的,你得知道它的很多api, 开发出来的代码效率不高,不过却可以比较 ...
- Mycat-server-1.6.5 常见分片方式
Mycat-server-1.6.5 常见分片方式 1 安装 [root@hongquan1 soft]# tar zxvf Mycat-server-1.6.5-release-2018012222 ...
- [置顶]
strcpy()与strncpy()的区别
头文件:#include <string.h> strcpy() 函数用来复制字符串,其原型为: char *strcpy(char *dest, const char *src); [参 ...
- C# DataTable的常用用法讲解
在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结. 一.DataTable简 ...
- 使用Asset Pipeline管理rails生产环境静态资源实现步骤
1. 修改项目中指向静态资源文件的链接 a) 访问静态资源文件 <%= stylesheet_link_tag "application", media: &q ...
- Git学习笔记(三)远程库(GitHub)协同开发,fork和忽略特殊文件
远程库 远程库,通俗的讲就是不再本地的git仓库!他的工作方式和我们本地的一样,但是要使用他就需要先建立连接! 远程库有两种,一个是自己搭建的git服务器:另一种就是使用GitHub,这个网站就是提供 ...
- 部署和调优 2.4 tomcat安装
下载tamcet 官网 http://tomcat.apache.org/ 左侧选择版本 复制下载链接 切换到下载目录 cd /usr/local/src linux wget wget http:/ ...
- jxl.read.biff.BiffException: Unable to recognize OLE stream异常
java代码读取excel文件时报: jxl.read.biff.BiffException: Unable to recognize OLE stream at jxl.read.biff.C ...
- Tiny4412 u-boot分析(2)u-boot启动流程
从大方面来说,u-boot的启动分成两个阶段,第一个阶段主要的职责是准备初始化的环境,主要有以下几点 ①设置异常向量表 ②把CPU的工作模式设置为SVC32模式 ③关闭中断.MMU和cache ④关闭 ...