C++知识点总结(5)
1.为何静态成员函数不能调用非静态成员函数
静态成员函数可以不需要类的实例就直接使用,非静态的成员函数很可能用到一些成员变量,而成员变量的创建和初始化是在创建了类的实例时在构造函数调用的时候才进行的。 如果允许静态成员函数调用非静态的成员函数,那么就很有可能使用到未创建也未初始化的成员变量,这是完全不符合逻辑的。所以不能这么调用。
可以间接调用。即给静态成员函数传入对象实例来调用非静态成员函数和成员变量。
2.C++中的除法
除法规则:同号为正,异号为负。例如, 7/4 7/-4 -7/4 -7/-4 结果分别为 1 -1 -1 1
取模规则:除数正则正,除数负则负。例如, 7%4 7%-4 -7%4 -7%-4 3 3 -3 -3
注意。取模可以根据除法运算计算出。
当使用移位法求除法时。结果是取下整数 7>>1=3. -7>>1=-4
3.大端小端存储问题
小端:低位存低地址
大端:低位存高地址
注意:计算机寻址从第地址字节开始。例如:
short int x;
char x0,x1;
x=0x1122;
x0=((char*)&x)[0]; //低地址单元
<span style="font-size:18px;">x1=((char*)&x)[1]; //高地址单元<strong>
</strong></span>
若x0=0x11,则是大端; 若x0=0x22,则是小端......
上面的程序还可以看出,数据寻址时,用的是低位字节的地址。
4.STL问题
STL线程不安全。std::stack默认是用deque实现的。STL容器列表
std::sort封装了快速排序算法,因此是不稳定的,如果要使用稳定排序,可以用std:stable_sort
C++知识点总结(5)的更多相关文章
- ASP.NET Core 中的那些认证中间件及一些重要知识点
前言 在读这篇文章之间,建议先看一下我的 ASP.NET Core 之 Identity 入门系列(一,二,三)奠定一下基础. 有关于 Authentication 的知识太广,所以本篇介绍几个在 A ...
- ASP.NET MVC开发:Web项目开发必备知识点
最近加班加点完成一个Web项目,使用Asp.net MVC开发.很久以前接触的Asp.net开发还是Aspx形式,什么Razor引擎,什么MVC还是这次开发才明白,可以算是新手. 对新手而言,那进行A ...
- UWP开发必备以及常用知识点总结
一直在学UWP,一直在写Code,自己到达了什么水平?还有多少东西需要学习才能独挡一面?我想对刚接触UWP的开发者都有这种困惑,偶尔停下来总结分析一下还是很有收获的! 以下内容是自己开发中经常遇到的一 ...
- C#高级知识点&(ABP框架理论学习高级篇)——白金版
前言摘要 很早以前就有要写ABP高级系列教程的计划了,但是迟迟到现在这个高级理论系列才和大家见面.其实这篇博客很早就着手写了,只是楼主一直写写停停.看看下图,就知道这篇博客的生产日期了,谁知它的出厂日 ...
- lucene 基础知识点
部分知识点的梳理,参考<lucene实战>及网络资料 1.基本概念 lucence 可以认为分为两大组件: 1)索引组件 a.内容获取:即将原始的内容材料,可以是数据库.网站(爬虫).文本 ...
- DoraCMS 源码知识点备注
项目需要研究了下DoraCMS这款开源CMS,真心做的不错:).用的框架是常用的express 4 + mongoose,代码也很规范,值得学习. 源码中一些涉及到的小知识点备注下: https:// ...
- atitit 商业项目常用模块技术知识点 v3 qc29
atitit 商业项目常用模块技术知识点 v3 qc29 条码二维码barcodebarcode 条码二维码qrcodeqrcode 条码二维码dm码生成与识别 条码二维码pdf147码 条码二维码z ...
- HTML5知识点总结
HTML5知识点总结(一) 一.HTML新增元素 1.IE9版本以下支持HTML5的方法 <!--[if lt IE9]> <script src="http://cdn. ...
- JavaScript易错知识点整理
前言 本文是我学习JavaScript过程中收集与整理的一些易错知识点,将分别从变量作用域,类型比较,this指向,函数参数,闭包问题及对象拷贝与赋值这6个方面进行由浅入深的介绍和讲解,其中也涉及了一 ...
- Sqlserver中一直在用又经常被忽略的知识点一
已经有快2个月没有更新博客了,实在是因为最近发生了太多的事情,辞了工作,在湘雅医院待了一个多月,然后又新换了工作...... 在平时的工作中,Sqlserver中许多知识点是经常用到的,但是有时候我们 ...
随机推荐
- java的Random()类使用方法
//随机生成1~100之间的一个整数 int randomNumber = (int)(Math.random() * 100) + 1; System.out.println(randomNumbe ...
- 解析PHP中intval()等int转换时的意外异常情况
<?php$a = 9.45*100;var_dump($a);var_dump(intval($a));$a = 945*1.00;var_dump($a);var_dump(intval($ ...
- jQuery实现表格冻结行和列
前几天,遇到一个需求是要将表格的前几行和前几列冻结即固定,就是在有滚动条的情况下,保持那几行和那几列固定,这个需求其实是一个非常常见的需求,因为在涉及好多行和列时,在拖动滚动条时,我们需要知道每行每列 ...
- 使用Intellij Idea打开项目不能显示树形目录
按下列步骤操作:1. 关闭IDEA, 2.然后删除项目文件夹下的.idea文件夹3.重新用IDEA工具打开项目 Open...
- java.net.SocketException: No buffer space available 异常
http://stackoverflow.com/questions/10088363/java-net-socketexception-no-buffer-space-available-maxim ...
- 使用GridSearchCV寻找最佳参数组合——机器学习工具箱代码
# -*- coding: utf-8 -*- import numpy as np from sklearn.feature_extraction import FeatureHasher from ...
- url编码有个bug,不能直接用decodeURIComponent,如果遇到前面的$会报错。
decodeURIComponent("%") ----->Uncaught URIError: URI malformed decodeURIComponent(" ...
- 打印a*a的乘法表
/*利用for循环打印 9*9 表? 1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 ...
- rabbitmq的vhost与用户管理
当我们在创建用户时,会指定用户能访问一个虚拟机,并且该用户只能访问该虚拟机下的队列和交换机,如果没有指定,默认的是”/”;一个rabbitmq服务器上可以运行多个vhost,以便于适用不同的业务需要, ...
- Vue forms
Vue forms Vue 的表单. 表单中的数据和是双向绑定的. 你可以使用 v-model 对控件元素进行数据双向绑定. 比较有用的修饰符 .lazy .number .trim