![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
黄色猴子
这个作者很懒,什么都没留下…
展开
-
指针传递和引用传递
指针传递也属于值传递!因为指针本质就是个地址变量,所以指针传递的参数也是个变量!同时需要注意的是,指针传递是把地址变量复制一份再传递给函数的!而引用传递是把本体传递给函数,并没有通过复制!代码:输出结果:注意:指针传递的函数里面的变量a由于和main函数的作用域不同,属于两个不同的变量。可以清晰地看到:指针传递的实参在函数内部该改变了指向,改变了函数内输出时的结果,但是丝毫不影响main函数的输出结果,因为传递过去的地址变量是个复制品。而引用传递的地址,从头至尾都没有发生改变,因为引原创 2021-03-13 13:22:19 · 956 阅读 · 0 评论 -
怎么比较两个字符串的大小?
不是按照字符串长度比较!!!比较的是字符的ASCII码!!!从字符串左边往右边依次比较,相等就比较下两个字符,遇到不相等的两个字符,哪个字符的ASCII码大就是哪个字符串大。再次强调!与字符串长度无关!例如:abc = abcab < abcc > abcd代码验证:输出:...原创 2021-03-11 20:32:04 · 2545 阅读 · 1 评论 -
c++实现就餐排队系统(链式队列)
h文件#pragma once//排队牌号typedef struct Node{ int data; Node *next;}Diner;//排队类class Queue{private: int table_num; //餐桌张数 int diner_num; //就餐人数 Node *front, *rear; //头尾牌号public: Queue(int t_n, int d_n); //构造函数(构造队列) ~Queue(); //析构函数 void原创 2021-01-14 19:55:36 · 3555 阅读 · 1 评论 -
c++实现八皇后问题(详细注释)
#include<iostream>#include<string>using namespace std;class Queen{private: int Place(int k); //判断皇后k是否冲突 int *x; //皇后的位置 int num; //皇后的个数public: Queen(int n); //构造函数 ~Queen(); //析构函数 void Set_Queen(); //放入皇后 void Print_Queen(); /原创 2020-10-25 00:46:58 · 1167 阅读 · 0 评论 -
c++实现发纸牌算法
#include<iostream>#include<ctime>#include<string>using namespace std;string str1[4] = { "黑桃", "红桃", "方块","梅花" };string str2[13] = { "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A" };int sign[4][13] = { 0 };class原创 2020-10-24 23:04:37 · 784 阅读 · 0 评论 -
c++实现顺序表
#pragma once#include<string>#include<iostream>using namespace std;class SeqList{public: SeqList(int sz, int leng); //构造函数 void mune(); //菜单 void resize(int newSize); //扩容 int length() { return len; }//表长度 void input(); //输入线性表中原创 2020-10-17 00:14:36 · 650 阅读 · 0 评论 -
c++实现并集(A∪B = C)
#include<iostream>using namespace std;class int_set{private: int max_size; //最大容量 int current_size; //当前大小 int *p; //动态数组public: //构造函数 int_set(int &arr_size) :max_size(arr_size), current_size(0) { this->p = new原创 2020-10-17 00:11:15 · 3042 阅读 · 0 评论 -
c++实现约瑟夫环
#include<iostream>using namespace std;typedef struct Node{ int data; Node *next;};class JosephRing{private: Node *rear;//尾结点public: JosephRing(int n);//构造函数,初始化n个结点的循环链表 ~JosephRing();//析构函数 void Joseph(int m);//密码为m,打印出环顺序};Josep原创 2020-10-17 00:08:05 · 2263 阅读 · 0 评论 -
c++实现数组元素循环左移
#include<iostream>using namespace std;void move_left(int *arr, int arr_num, int move_num){ move_num = move_num % arr_num; while (move_num--) { int index = arr[0]; for (int i = 0; i < arr_num - 1; i++) { arr[i] = arr[i + 1]; }原创 2020-09-12 10:19:37 · 4150 阅读 · 0 评论 -
虚函数地址
int main(){ typedef void (*Fun)(void); Fun fun; Base b; cout << "虚函数指针地址:" << &b << endl; cout << "虚函数表地址:" << (int*)*(int*)(&b) << endl; cout << "第一个虚函数的地址:" << (int*)*(int*)*(int*)(&原创 2020-07-24 14:33:12 · 174 阅读 · 0 评论 -
输出格式化:setprecision(), stew(), stefill(), setbase(), fixed() 的用法
一、setprecision()#include <iostream.h>#include <iomanip.h> //要用到格式控制符int main(){double amount = 22.0/7;cout << amount <<endl;cout << setprecision(0) << amount <<endl; //C++最小的有效位数为1,所以作为有效位数设置为1来看待 &原创 2020-06-20 10:36:38 · 752 阅读 · 3 评论 -
初识srand()和rand()
rand函数每一次被调用的时候,它都会查看之前是否调用了srand函数 1. 如果调用了,则会调用srand(seed)来初始化它的随机值 2. 如果没有调用,则会默认的调用srand(1)来初始化它的随机值获取[a,b)的值可以用:rand()%(b-a))+ a;(当a为0时,可以用rand()% b)srand(seed):C语言利用rand()函数取得随机数的时候是通过一个叫做“种子”的变量经过计算得出一个数值,然后得出的数值原创 2020-06-17 14:36:00 · 245 阅读 · 0 评论 -
stl迭代器加const
原创 2020-06-16 21:34:39 · 193 阅读 · 0 评论 -
strlen(), sizeof(),size(),length()
strlen()返回的是字符串长度,但不包括‘\0’sizeof()返回的是字符串所占的字节大小size()和length()这两个函数的功能相同,都是求字符串长度,但只能在string容器中使用,另外string存储的字符串不以‘\0’结尾...原创 2020-04-27 19:28:35 · 962 阅读 · 0 评论 -
char * 和 const char * 的 区别 及其 使用方法
以下是报错:原创 2020-04-17 20:20:37 · 361 阅读 · 0 评论 -
字符数组与字符串数组与 ‘\0'的关系
**字符串数组:**char a[6] = {“China”};**字符数组:**char b[5] = { ‘C’,‘h’,‘i’,‘n’,‘a’ };char a[6]={“China”};这个长度就等于5。其实在系统中a占了6个位置,最后一个放了一个’\0’。char b[5]={‘C’,‘h’,‘i’,‘n’,‘a’};这个长度也是5,但系统不会在最后放’\0’,所以它在系统中只...原创 2020-04-01 20:45:21 · 844 阅读 · 0 评论 -
指针与二维数组,*(a+1)、a+1、&a+1等等到底怎么分清楚!!!
废话不多说,直接上图!!上面两张截图就是我测试二维数组的代码与结果,接下来再来看看一维数组的:两组数据的对比可以看出二维数组明显难理解一些,那咱们应该如何理解二维数组?二维数组可以看成是元素为 一维数组 的 一维数组。比如 a[2][3],可以看成是具有两个元素的一维数组(这两个元素是 a[0], b[1]),每个元素又是一个具有三个int型数据的一维数组.接下来说几个注意事项:...原创 2020-02-16 22:12:41 · 6281 阅读 · 0 评论