C++、、

1)C++面向对象的三大特征:多态、继承、封装;

2)头文件中 ifndef/define/endif 的作用是:防止头文件的重复包含和编译;

3)可编程内存在基本上分为这样的几大部分:静态存储区、堆区和栈区。他们的功能不同,对他们使用方式也就不同:

静态存储区:内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。它主要存放静态数据、全局数据和常量;
     栈区:在执行函数时,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配                的内存容量有限:
     堆区:亦称动态内存分配。程序在运行的时候用malloc或new申请任意大小的内存,程序员自己负责在适当的时候用free或delete释放内存。动态内存的生存期可以由我们决定,                如果我们不释放内存,程序将在最后才释放掉动态内存:

4)struct 和 class 的区别:class中变量默认是private,struct中的变量默认是public。struct可以有构造函数、析构函数,之间也可以继承等等。C++中的struct其实和class意义     一样,唯一的不同是struct默认的访问控制是public,而class中默认的访问控制是private。

时间: 2024-10-18 09:57:31

C++、、的相关文章

C的|、||、&、&&、异或、~、!运算

位运算     位运算的运算分量只能是整型或字符型数据,位运算把运算对象看作是由二进位组成的位串信息,按位完成指定的运算,得到位串信息的结果. 位运算符有:     &(按位与).|(按位或).^(按位异或).~ (按位取反). 其中,按位取反运算符是单目运算符,其余均为双目运算符.     位运算符的优先级从高到低,依次为~.&.^.|, 其中~的结合方向自右至左,且优先级高于算术运算符,其余运算符的结合方向都是自左至右,且优先级低于关系运算符.    (1)按位与运算符(&) 

angularjs 指令—— 绑定策略(@、=、&)

angularjs 指令—— 绑定策略(@.=.&) 引入主题背景:angular 的指令配置中的template可以直接使用硬编码写相应的代码,不过也可以根据变量,进行动态更新.那么需要用到那些变量,因用法的不同,所以需要设置合适的绑定策略. 一.@ 绑定策略 @ 绑定策略,它的作用就是能把指令配置的独立Scope下变量的值等于根据@绑定的指令属性的值.(指令属性的值可以使用表达式,但是得出来的值一定是字符串.) 1.上代码: html代码 <!DOCTYPE html> <h

(转载)Android xml资源文件中@、@android:type、@*、?、@+引用写法含义以及区别

原帖地址:http://blog.csdn.net/zfrong/article/details/7332545 Android xml资源文件中@.@android:type.@*.?.@+引用写法含义以及区别 一[email protected]代表引用资源 1.引用自定义资源.格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源.格式:@android:type/name android:textColor=&

shell之 $()、``、${ }、$(( ))与(())

$().``用来作命令替换 ${ }用来作变量替换(以下内容来自shell十三问) (1).    变量的界定         $ A=B         $ echo $AB 该命令执行时,将AB整体看作一个变量,而不是变量$A与字母B的连接.         $ A=B         $ echo ${A}B 该命令执行后将输出:BB (2).    特殊功能,对于字符串的处理有很大的帮助. 首先,定义变量 file=/dir1/dir2/dir3/my.file.txt,下面的命令将取得

Android xml资源文件中@、@android:type、@*、?、@+含义和区别

一[email protected]代表引用资源 1.引用自定义资源.格式:@[package:]type/name android:text="@string/hello" 2.引用系统资源.格式:@android:type/name android:textColor="@android:color/opaque_red" 注意:其实@android:type/name是@[package:]type/name 的一个子类 二[email protected]*

&amp;&amp;(短路与)、&amp;、|、||(短路或)

Java语言中的&&(短路与).&.|.||(短路或)区别: &&是逻辑 &是位 当&两边是整数时执行的是位运算,而两边是boolean值时执行的是逻辑运算. 代码如下: 运行结果如下: &的逻辑运算和&&逻辑运算是存在一定不同的: &逻辑运算时两边都会计算的,而&&则在左边为假时则直接返的是false不再计算右边. 代码如下: 运行结果如下: 这两个例子中,第一个会抛出异常,而第二个则什么不会输出也不

shell中各种括号的作用()、(())、[]、[[]]、{}

一.小括号,圆括号() 1.单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空格. ②命令替换.等同于`cmd`,shell扫描一遍命令行,发现了$(cmd)结构,便将$(cmd)中的cmd执行一次,得到其标准输出,再将此输出放到原来命令.有些shell不支持,如tcsh. ③用于初始化数组.如:array=(a b c d) 2.双小括号 (( ))

运算符(+、-、*、/)

运算符(+.-.*./) 最近在LeetCode 上刷题,遇到一个非常有趣的题目,题目的大概意思就是在不使用运算符的情况下实现两个数的加法...原题点这里>>> 说实话,刚看到这题目,我是一脸懵逼的. 后来仔细想想,如果不能用运算符,那肯定是用原始方法了(位运算). 后来,的确也证明我的想法是正确的.不过还是有种思路没想到,是参考了网上的. 在这里,我就来说说我所知道的两个方案.方法low,大牛可以点击右上角的×了... 注:以下讨论均基于整数之间的四则运算!部分来自网络~ [加法] 方

Makefile的编写及四个特殊符号的意义@、[email&#160;protected]、$^、$&lt;

我们先看三段C++程序: 一.line1的源码 line1.h 1 #ifndef _LINE_1_H 2 #define _LINE_1_H 3 void line1_print(const char *strMsg); 4 #endif line1.cpp 1 #include "line1.h" 2 #include <stdio.h> 3 void line1_print(const char *strMsg) 4 { 5 printf("This is

JAVA程序,基本数据类型、、数据类型转换、变量和常量、常用运算符

一.基本数据类型 整数类型:byte.short. int(常用).long(较常用)     定义某个变量          int  a=10: 浮点类型(小数):float.double(常用) 字符类型:char  字符(不是字符串)     char  b='a' 转义字符类:  常用的\\反斜杠字符    \t垂直制表符     \r 回车        \n换行 布尔类型(逻辑类型):  true .false 二.类型转换 强制转换与自动转换 int  m=1  : long n