C和C++
余 一
人类的悲欢并不相通
展开
-
C中的位级运算
C语言支持按位布尔运算,包括:& 与 (AND), | 或 (OR), ~ 取反 (NOT),^ 异或 (EXCLUSIVE-OR)。有以下常用结论:对于任意向量a,有a ^ a = 0.异或(^) 是可交换的和可结合的。a ^ (a ^ b) = (a ^ b) ^ b = b; b ^ (a ^ b) = (b ^ b) ^ a = a.0 ^ A = A (0 异或任何数 A原创 2017-12-04 23:00:44 · 963 阅读 · 0 评论 -
C++学习笔记 : friend类 和 friend函数
类的friend函数(友元函数)在类的作用域外定义,却具有访问类的非public (以及public)成员的权限。 单独的函数、整个类或其他类的成员函数都可以被声明为另一个类的友元。friend 的声明在类定义中函数原型前加保留字friend, 就将该函数声明为该类的友元。 若要将整个类Classtwo 的所有成员函数声明为Classone类的友元,原创 2018-01-31 16:40:13 · 8242 阅读 · 1 评论 -
查缺补漏篇(犯错篇)
1.long long 类型数据在windows机下输入格式控制符为%I64d, 不然用%lld可能出错, 因为%lld这个占位符不是跨平台的。—————————————-更新时间:2018/3/9 2.指向结构体指针应用错误代码#include<iostream>using namespace std;struct aa{ int a; int...原创 2017-12-05 10:15:52 · 516 阅读 · 0 评论 -
蓝桥杯 历届试题 格子中输出(%*s的使用)
格子中输出StringInGrid函数会在一个指定大小的格子中打印指定的字符串。 要求字符串在水平、垂直两个方向上都居中。 如果字符串太长,就截断。 如果不能恰好居中,可以稍稍偏左或者偏上一点。下面的程序实现这个逻辑,请填写划线部分缺少的代码。#include <stdio.h>#include <string.h>void StringInGrid...原创 2018-03-31 17:14:32 · 409 阅读 · 0 评论 -
C++ set容器插入结构体类型的数据
因为插入的类型是自定义的,不是基本类型(基本类型有默认的排序准则),因此需要重载 < 运算符。(相当于给自定义类型一个排序准则)。e.g. :#include<iostream>#include<set>using namespace std;struct aa{ int b; friend bool operator < (const a...原创 2018-04-05 16:04:00 · 7962 阅读 · 1 评论 -
C++ 用迭代器删除容器中的某一个class类型的对象
用C++ 用迭代器删除容器中的某一个class类型的对象,需要注意的是vector<T>::erase的返回值。返回值迭代器跟随最后一个被删除的元素。如果迭代器pos引用最后一个元素,则返回end()迭代器。e.g.class Commodity{public: Commodity(string, string, string, double); void set_info(s...原创 2018-04-20 20:24:14 · 572 阅读 · 0 评论 -
进程调度的认识和小结
1.资源继承fork()函数,分叉函数调用fork()函数,可以生成当前程序的副本(子进程)。 子进程有复制来自父进程的堆栈段和数据空间(包括流缓冲区)。之后由系统调度算法决定执行哪一个进程先执行(包括显示中终端命令行的进程也会参与系统资源的争夺)。如在下面的两个程序中,就因为一个'\n',而使两个程序出现的结果,有别于以往的认识。程序一:#include<...原创 2018-04-29 17:52:20 · 1408 阅读 · 0 评论