说在前面:

complex即为复数

使用c++自带的complex类型,首先要有<complex>头文件,还要使用std命名空间

声明方式:

complex <T> a;  声明一个类型为T的复数a,T可为int,float,double,long double,甚至是string等各种类型。如果类型非数值类型,只会导致一些函数无法使用。可见complex本质与元素对类似。

  类型可为自建的类/结构体类型,这时只需重载一些东西((流)输入输出,运算符,常用函数...)

可使用构造函数:

complex <T> a(x,y) ;   声明一个实部为x,虚部为y的复数a。可没有第二个参数,此时默认虚部为0。

complex <T> (x,y)  构造一个实部为x,虚部为y的复数,常常用于赋值。

运算:

一元运算符:+(正号),-(负号)后接实数或复数

二元运算符:

  =(赋值),+=,-=,*=,/= 后接实数或复数(复数类型可与运算符前的复数不同)  

  +,-,*,/,==,!= 两边实数复数均可,只要求一边实数另一边复数时两数同一类型(都是double等)

输入输出方式:

1、使用流输入输出。复数的流输出是有序数对的形式,流输入可以只输入一个数(为实部,此时虚部默认为0),或一个有序数对(数对也可以无第二个数,此时效果等同于只输入一个数),如:

2、通过用.imag()和.real()函数直接操作复数的实部虚部(printf,scanf(别忘加&),快读快输出等)

常用函数:

1参:

real():返回可修改的复数实部

imag():返回可修改的复数虚部

abs():求模。

norm(): 函数模板会返回复数的量的平方。

arg() :返回以弧度为单位的复数 z幅角的主值, 相当于atan(z.imag()/z.real())。

conj():返回共轭复数。

sqrt():复数平方根(一定有解,可由复数的三角表示易知)

cos(),cosh(),sin(),sinh(),tan(),tanh():返回复数的相应值(与幅角的相应值不是一个概念)

以上函数除了conj()返回相应类型复数,其余都返回复数的类型。

exp,log,log10,四个pow,prqj,待以后深究

2参:

polar() 函数模板接受量和相角作为参数,并返回和它们对应的复数对象。复数类型为参数类型,参数类型必须相同。

特殊:

.real():有参则为复数实部赋值,无返回值;无参则同real()。

.imag():有参则为复数虚部赋值,无返回值;无参则同imag()。

后记:

对于一个括号内若干由逗号隔开的数,若前没有复数的声明定义,则只是一个逗号表达式,会返回最后一个数的值。

现已吃到complex源文件488行,待继续填坑                                                                                                            

C++STL complex吃书使用指南的更多相关文章

  1. 小橙书阅读指南(十三)——连通性算法(union-find)

    上一章我大概说明了什么是图论以及无向图的基础概念,本章我们要研究一种更普遍的算法——连通性算法.它属于图论的分支,也是一种抽象算法.在深入算法之前,我们先提出一个具体的问题:假设在空间中存在N个点,我 ...

  2. 【白书训练指南】(UVa10755)Garbage Heap

    先po代码,之后把我那几个不太明了的知识点讲讲,巩固以下.三维的扫描线算法想要掌握还真是有一定的难度的. 代码 #include <iostream> #include <cstri ...

  3. 容器使用的12条军规——《Effective+STL中文版》试读

    容器使用的12条军规——<Effective+STL中文版>试读     还 记的自己早年在学校学习c++的时候,老师根本就没有讲STL,导致了自己后来跟人说 起会C++的时候总是被鄙视, ...

  4. 泛型编程、STL的概念、STL模板思想及其六大组件的关系,以及泛型编程(GP)、STL、面向对象编程(OOP)、C++之间的关系

    2013-08-11 10:46:39 介绍STL模板的书,有两本比较经典: 一本是<Generic Programming and the STL>,中文翻译为<泛型编程与STL& ...

  5. POJ 2947 Widget Factory(高斯消元)

    Description The widget factory produces several different kinds of widgets. Each widget is carefully ...

  6. uva 3523 Knights of the Round Table

    题意:给你n,m n为有多少人,m为有多少组关系,每组关系代表两人相互憎恨,问有多少个骑士不能参加任何一个会议. 白书算法指南 对于每个双联通分量,若不是二分图,就把里面的节点标记 #include ...

  7. DLX 舞蹈链 精确覆盖 与 重复覆盖

    精确覆盖问题:给定一个由0-1组成的矩阵,是否能找到一个行的集合,使得集合中每一列都恰好包含一个1 还有重复覆盖问题 dancing links 是 一种数据结构,用来优化搜索,不算是一种算法.(双向 ...

  8. JAVA学习,是一条漫长的道路

    我在Java 1.0正式问世前就开始学习Java,这么多年过去了,到现在我的Java学习历程还没有停过.我阅读原文书,研究原始码,撰写程序,自认为走得扎实,不奢望一步登天.像我这样老式的学习方式,显然 ...

  9. item 5: 比起显式的类型声明,更偏爱auto

    本文翻译自modern effective C++,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 博客已经迁移到这里啦 啊,简单愉快的代码: int x; 等等,讨厌!我忘了初始化x,所 ...

随机推荐

  1. Windows系统护眼色设置

    Win10&Win8系统设置护眼色1. windows+R键调出运行窗口(或者鼠标右击开始键,选择运行)2. 在运行窗口中输入 regedit 调出注册表编辑器3. 按照如下顺序找到windo ...

  2. 18 . Go之操作Mysql

    安装mysql wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm yum -y localinstall ...

  3. 华为云的研究成果又双叒叕被MICCAI收录了!

    摘要:2020年国际医学图像计算和计算机辅助干预会议(MICCAI 2020),论文接收结果已经公布:华为云医疗AI团队和华中科技大学合作的2篇研究成果入选. 语义/实例分割问题是近年来医学图像计算领 ...

  4. JS 鼠标、键盘事件对象

    鼠标事件对象     mouseEvent鼠标事件对象     e.clientX 在可视区的x和y的坐标     e.pageX 在页面文档的X和Y的坐标 <script> docume ...

  5. javascript 简单、繁杂类型、栈、堆笔记

    简单数据类型     值类型:在存储变量中的是值本身     简单数据类型 null返回的是空的对象     string,number,Boolean,undefined,null 繁杂数据类型   ...

  6. 轻轻松松学CSS:position

    position属性表示元素的定位类型,在CSS布局中,position发挥着非常重要的作用,一些元素的布局就是用position完成的,鉴于此,本文结合一些小实例详细讲解一下. position属性 ...

  7. 【NOI2005】瑰丽华尔兹 - DP

    题目描述 你跳过华尔兹吗?当音乐响起,当你随着旋律滑动舞步,是不是有一种漫步仙境的惬意? 众所周知,跳华尔兹时,最重要的是有好的音乐.但是很少有几个人知道,世界上最伟大的钢琴家一生都漂泊在大海上,他的 ...

  8. 图论算法(一)存图与STL第六弹——vector容器

    图论算法(一)存图 我发现我的博客阅读量贼低,问小伙伴们,ta们都说这些博客太长了QAQ! 今天来个短亿点的(也短不了多少……) 进入正题,图论究竟是什么? 图论就是给你一张图,让你在这张图上进行各种 ...

  9. 计算机网络要点---Http

    计算机网络要点---Http 1.工作流程 一次HTTP操作称为一个事务,其工作过程可分为四步: 首先客户机与服务器需要建立 TCP 连接.只要单击某个超级链接,HTTP的工作开始. 建立连接后,客户 ...

  10. golang 开发 Struct 转换成 map 两种方式比较

    原文链接:https://www.jianshu.com/p/81c4304f6d1b 最近做Go开发的时候接触到了一个新的orm第三方框架gorose,在使用的过程中,发现没有类似beego进行直接 ...