c++基础知识拾遗

------------------<c++基础知识拾遗之&>---------------------------------

在C里面,&有几种意思

1、当两个连在一起的时候。&&。代表的是“并且”的意思

例如a==1&&b==2.就是当a=1并且b=2的时候!

2、表示引用,例如int a; int &ra=a; //定义引用ra,它是变量a的引用,即别名

3、&表示两种运算符,其中一种表示取值运算符,一种是按位与

(3.1)、取值运算符

int a=1;

int *p=&a; //其中&a表示的就是把a中的地址取出来,然后赋给指针变量,也就是说&a表示的是变量a在内存中的地址。你可以使用printf函数输出这个地址

(3.2)、按位与运算符

计算规则:如果两个数都都为真(或为1),其结果为真,如果两位数中有一位为假(或为0)者结果为假

比如a&b;表示把a和b进行二进制的按位与运算

比如8&10,其中8的二进制是0000 1000,而10的二进制是0000 1010,因此

0000 1000(十进制8)

& 0000 1010(10进制10)

结果为0000 1000(就是10进制的8)

因此8&10的结果为8

===================<c++基础知识拾遗之&>===================================

----------------------------------<||运算符从左向右,截断判断>----------------------------------------------------

// coutTEst.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include "iostream"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

int  a  = 0;

int  b= 0;

if(((a =3) || (b=3)))

{

a++;

b++;

}

cout<<a<<endl;

cout<<b<<endl;

return 0;

}

//输出结果为4、1

========================<||运算符从左向右,截断判断>=============================

------------------------------------------<&&运算符从左向右,全部判断>------------------------------------------------

// coutTEst.cpp : 定义控制台应用程序的入口点。

//

#include "stdafx.h"

#include "iostream"

using namespace std;

int _tmain(int argc, _TCHAR* argv[])

{

int  a  = 0;

int  b= 0;

if(((a =3) && (b=3)))

{

a++;

b++;

}

cout<<a<<endl;

cout<<b<<endl;

return 0;

}

============================<&&运算符从左向右,全部判断>====================================

c++基础知识拾遗,码迷,mamicode.com

时间: 2025-01-01 01:02:10

c++基础知识拾遗的相关文章

javascript基础知识拾遗

1 下面列出的值被当作假 false null undefined '' 0 NaN 其它所有值被当作是真 console.log(undefined || true); //true console.log(0||true); //true console.log(''||true); //true console.log(false||true); //true console.log(null||true); //true console.log(NaN||true); //true co

java基础知识拾遗(四)

1.Runnable对象 启动线程:(new Thread(new MyRunnable()).start() 2.jsp中<%@ page language="java" import="java.util.*" errorPage="error.jsp" isErrorPage="false" %>  改页面不能使用exception对象 3.枚举 enum AccountType { SAVING, FIXE

java基础知识拾遗(二)

1.finally public static int func (){ try{ return 1; }catch (Exception e){ return 2; }finally { return 3; } } public static int func (){ try{ throw new Exception(); }catch (Exception e){ return 2; }finally { return 3; } } 返回值均为3;这表明finally块的代码会在正常retu

java基础知识拾遗(三)

1.类加载 bootstrap classloader -引导(也称为原始)类加载器,它负责加载Java的核心类. extension classloader -扩展类加载器,它负责加载JRE的扩展目录(JAVA_HOME/jre/lib/ext或者由java.ext.dirs系统属性指定的)中JAR的类包. system classloader -系统(也称为应用)类加载器,它负责在JVM被启动时,加载来自在命令java中的-classpath或者java.class.path系统属性 或者

mysql基础知识拾遗

一.mysql安装: 1.安装环境说明: 系统:CentOS Linux release 7.2.1511 (Core) 数据库:mysql-5.7.22-linux-glibc2.12-x86_64 2.下载安装包: mkdir -p /usr/lcoal/mysql cd /usr/lcoal/mysql wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

Java线程知识拾遗

知识回顾 进程与线程是常常被提到的两个概念.进程拥有独立的代码段.数据空间,线程共享代码段和数据空间,但有独立的栈空间.线程是操作系统调度的最小单位,通常一个进程会包含一个或多个线程.多线程和多进程都可以实现并发处理,如 nginx 使用多进程方式.tomcat 使用多线程方式.Apache 支持混合使用.在 C/C++ 等语言中可以同时使用多进程和多线程,而在 Java 中只能使用多线程. 在 Java 中,创建线程的唯一方式是创建 Thread 类的实例,调用实例的 start() 方法启动

MySQL数据库基础知识

day02 MySQL数据库基础知识 一.基础知识概述: 基础决定你这门课程的学习成败!只有学习好这些基础知识以后,你才能真正的运用自如.才能够对数据库有更深入的了解,道路才会越走越远. 二.基础知识: 1.数据库(database):数据库就好比是一个物理的文档柜,一个容器,把我们整理好的数据表等等归纳起来. 创建数据库命令:        create database 数据库名; 2.查看数据库         show databases; 3.打开指定的数据库         use 

linux入门基础知识及简单命令介绍

linux入门基础知识介绍 1.计算机硬件组成介绍 计算机主要由cpu(运算器.控制器),内存,I/O,外部存储等构成. cpu主要是用来对二进制数据进行运算操作,它从内存中取出数据,然后进行相应的运算操作.不能从硬盘中直接取数据. 内存从外部存储中取出数据供cpu运存.内存的最小单位是字节(byte) 备注:由于32的cpu逻辑寻址能力最大为32内存单元.因此32位cpu可以访问的最大内存空间为:4GB,算法如下: 2^32=2^10*2^10*2^10*2^2 =1024*1024*1024

BroadcastReceive基础知识总结

BroadcastReceive基础知识总结 1.BroadcastReceive简介 BroadcastReceive也就是"广播接收者"的意思,顾名思义,就是用来接收来自系统和应用中的广播 在Android系统中,广播体现在方方面面,例如当开机完成后系统会产生一条广播,接收到这条广播就能实现开机启动服务的功能,当网络状态改变时,系统会产生一条广播,接收到这条广播,就能及时的做出提示和保存数据等操作,当电池的电量改变的时候,系统会产生一条广播,接收到这条广播就能在电量低的时候告知用户