逗号”,“运算符:a = 公式1,公式2;把公式1的结果放进公式2中进行运算,如:

a = 3*5 , a*4;

计算结果:a = 3*5*4=60;

typedef:类型别名,为已有类型另外命名

typedef  已有类型名 , 新类型名

using 新类型名 = 已有类型名

如:

  tepedef double Area , Volume;
  using Area = double;

枚举类型:将全部可取值一一列举出来(不限定作用域类型说明,继承于c语言)

词法形式:emum 枚举类型名 {变量值列表},如: 

enum Weekday {SUN,MON,TUE,WED,THU,FRI,SAT} 

默认值:从0开始,一次递增,如:0,1,。。。

  可以在定义的过程中给枚举赋初始值,后面依旧依次递增,如:  

enum Weekday {SUN,MON,TUE=,WED,THU,FRI,SAT}

  则,该枚举的值应依次为{0,1,10,11,12,13,14}

auto类型和decltype

  auto:编译器通过初始值自动推断变量的类型

  decltype:定义一个变量与某一表达式的类型相同,但并不用该表达式初始化变量

  例如:auto val = val1+val2;

      auto的类型取决于val1+val2的类型

    decltype(i) j = 2;

      定义变量j,其初始值为2,类型与i相同

  

 析构函数:

构造函数:对象在创建的时候自动调用的一个函数
析构函数:对象释放的时候自动调用的一个函数

特点:

1.析构函数的参数列表必须是void,不带有参数

2.析构函数没有重载

3.默认的析构函数什么都不做,类比于默认的构造函数

创建方式:

~类名()
{
}

对于一个指针对象时,在delete释放对象时才能被调用。

临时对象:

临时对象的创建方式:类名(参数);
作用域只是当前语句。

关于new和malloc,delete和free

参数:malloc需要显示地指出所需内存的尺寸,而new不需要,使用sizeof来实现

返回类型:new的返回值类型为指针,不需要强制类型转换,而malloc返回值为void*指针,因此需要强制类型转换为我们所需要的

如:CStu* cs = (CStu*)malloc(sizeof(CStu));

转载:https://blog.csdn.net/nie19940803/article/details/76358673

同理,delete可以触发析构函数,而free不能触发析构函数

this指针:

如:  

this->a = a;

this表示这个类中,前面申明的a,后面的a表示该局部变量中的a

相当于java中的 :    this.a=a;

静态成员变量,类外初始化规范,如:

static int a;

int CStu::a=;

静态成员变量也不能在类中进行初始化,只有静态整形常量才可以在类中进行初始化,如:

public:

  static const int a = 13;

 内联函数:

形式:在普通函数前面加上inline,如:

与普通函数对比,

普通函数:执行到被调用方法时,跳到被调用方法来执行;

内联函数:执行到被调用方法时,把该方法插入到调用的位置进行执行

 优缺点:内联函数占用空间大,但是执行效率比较高

 运算符的重载:

形式如:

Source.cpp:
void operator+(Number num,int x)
{
cout << (num.a+x) <<endl;
}
int main()
{
Number nnn;
nnn+;
system("pause");
return ;
} Number.h:
public:
int a;
double b;

运行结果:

对象之间不能直接使用基本运算符进行计算的,而运算符的重载则实现了直接对对象使用操作符进行运算。

说明:该方法没有返回值,不能实现连加功能,若要实现连加功能,需要将void换成需要的返回值类型。

 动态分配内存:

malloc:(int *) malloc(4*5);   //不会初始化

calloc:calloc(4,5);               //初始化为0

free:释放内存

realloc:重新分配内存

 形式参数和实际参数

形式参数:一般定义的时候的参数,double,int

实际参数:一般调用的时候传入的实际参数,(10,20)

GetProfileString 为win.ini初始化文件中指定的条目取得字串

atoi函数把字符串转换成整型数

strlen():

返回字符串的长度

strcat():

是一个复制字符串的函数

了解strcat函数函数功能:

(1)函数原型:char *strcat(char *dest, const char *src);

(2)函数功能:dest 为目的字符串指针,src 为源字符串指针。strcat() 会将参数 src 字符串复制到参数 dest 所指的字符串尾部;dest 最后的结束字符 NULL 会被覆盖掉,并在连接后的字符串的尾部再增加一个 NULL。

c++学习笔记(新手学习笔记,如有错误请与作者联系)的更多相关文章

  1. selenium 学习笔记 ---新手学习记录(1) 问题总结

    说明:每次学习各种语言时,环境搭建访问国外网址最头疼了,现在只要是工具下载好放到自己网盘,可以随时用. 1.首先工具准备,selenium需要用到的 下载地址 访问密码 ff8f 2.我选择的语言时j ...

  2. selenium 学习笔记 ---新手学习记录(10) 问题总结(java)--poi--excel 操作

    1.当我使用poi想要操作xlsx时,报错,解决方法下载xmlbeans-2.6.0.jar架包,引入即可.点我下载 https://yunpan.cn/cSdVqp6e4v6Jk  访问密码 2c5 ...

  3. selenium 学习笔记 ---新手学习记录(9) 问题总结(java)

    1.百度搜索目标--实例 boolean flag; //点击次数 int shcs=3; int i=0; //窗口焦点控制 String detailWindowHandle = null; // ...

  4. selenium 学习笔记 ---新手学习记录(8) 问题总结(java)

    1.获取执行js代码后的返回值 //获取滚动距离 String jl="return $('#chapterul li').height();"; Long jlhq=(Long) ...

  5. selenium 学习笔记 ---新手学习记录(7) 问题总结(java)

    1.想要获取固定ul下所有li的个数  如下图: //获取ul下li的个数 List<WebElement> elements = driver.findElement(By.id(&qu ...

  6. selenium 学习笔记 ---新手学习记录(6) 问题总结(java)

    1.查看网页的cookie信息 //查看cookie 登录后的cookie Set<Cookie> setcoke= driver.manage().getCookies(); for(C ...

  7. selenium 学习笔记 ---新手学习记录(5) 问题总结(java)

    1.今天遇到个奇葩问题,iframe有两个id相同的(如下图) 使用driver.switchTo().frame(“frmLinkPage1”);这个无法使用了. 后来改用driver.switch ...

  8. selenium 学习笔记 ---新手学习记录(4) 问题总结(java)-autoit3脚本使用

    1.安装autoit3 下载地址:点我下载 (提取码:9633) 提取码 下载完成后,一直下一步即可 2.上传头像使用脚本 代码如下: ControlFocus("打开",&quo ...

  9. selenium 学习笔记 ---新手学习记录(3) 问题总结(java)

    1.验证码简单处理 /** * 验证码等待输入函数 * */ private void ZcYzm(WebDriver driver){ boolean flag=false; while(flag= ...

  10. selenium 学习笔记 ---新手学习记录(2) 问题总结

    今天研究了下ie.chrome.firefox浏览器执行脚本 1.首先firefox下执行时,我是安装在d盘了,所以要更改路径 //如果火狐浏览器没有默认安装在C盘,需要制定其路径 System.se ...

随机推荐

  1. visual studio code 输出乱码

    问题: 解决方法: 首先,这个与VS本身无关,问题是出现在windows的dos显示设置上. 如何解决这个问题? 1.打开运行,输入cmd: 2.界面顶部右键,选择默认值: 3.将437(OEM-美国 ...

  2. Sql Server增加Sequence序列语句

    1.创建序列 下面的示例创建名为 DecSeq 使用一个序列 十进制 具有介于 0 到 255 之间的数据类型.序列以 125 开始,每次生成数字时递增 25. 因为该序列配置为可循环,所以,当值超过 ...

  3. python笔记8-多线程threading之封装式

    执行函数 1.先写一个执行函数,用来实现做某件事情,不同的人吃火锅用一个参数people代替. # coding=utf-8 import threading import time def chiH ...

  4. Linux 系统的文件类型

    Linux文件类型常见:普通文件.目录文件.字符设备文件和块设备文件.符号链接文件 1.1. 普通文件(-) ls -lh 来查看某个文件的属性,可以看到有类似-rwxrwxrwx,值得注意的是第一个 ...

  5. 最优化 KKT条件

    对于约束优化问题: 拉格朗日公式: 其KKT条件为: 求解 x.α.β 其中β*g(x)为互补松弛条件 KKT条件是使一组解成为最优解的必要条件,当原问题是凸问题的时候,KKT条件也是充分条件.

  6. DZ拿shell总结

    今天碰到一个dz的站,好久没拿了 ,拿下shell觉得应该总结一下 Uc_server默认密码 其实有了UC_SERVER就是有了网站的全部权限了,有了UC_SERVER你可以重置管理员密码 可以进后 ...

  7. 自学PHP有哪些书籍和教程值得推荐?

    知乎上看到一题主询问:"自学PHP有哪些书籍和教程值得推荐?",互联网深度屌丝秦风给出了不错的答案,希望能够帮助自学PHP的朋友们. 以下仅供参考: 尤其不认可W3school之类 ...

  8. zeromq 笔记

    一. 当执行zmq_bind后会进入mute state,直到有进入或者出去的连接发生才会进入ready state 在mute state状态下会根据不同的套接字类型决定是丢弃消息还是阻塞 可参考z ...

  9. 理解活在Iphone中的那些App (三)

    App的生存环境之宏观环境 从用户需求变成一个产品形体的App,是一个曲折的过程.主要的过程大概如此,分析用户需求,从用户需求中提炼出比较重要的部分,然后结合自己的创意,将其转化成产品.投放市场,接受 ...

  10. 【RabbitMQ】2、RabbitMQ入门程序——Hello World

      首先说一下,MQ全称为Message Queue消息队列是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它们.消息传递指的是程序 ...