C++
文章平均质量分 67
Kelvin7_Feng
Less is more
展开
-
大话C++之:对象内存模型
详解C++对象内存模型原创 2024-03-04 23:07:22 · 885 阅读 · 0 评论 -
大话C++之:内存对齐
在使用sizeof()计算结构体和class大小的时候,往往很多时候计算出来并不是我们想要的结果。最近在使用的时候就特别想了解它内在的原理,搞懂它的本质。看一下下面这个例子:struct Struct{ char a; int i;};问题是:这个结构体大小是多少?很多人回答可能是5个字节。分析结构体的组成是:char占1个字,int占4个字节。1+4=5,没错吧?其实这个答案应该是:不确定。因为它给的条件不能够得出一个确定的答案。打开VS 2017,64位程序执行一下,得出的结果是8。原创 2020-08-05 20:59:29 · 247 阅读 · 0 评论 -
C++ 使用异或对字符串进行简单加密
在很多场C++需要对字符串数据进行加密,可以增加一定的安全系数,例如在网络传输的时候,防止抓包可以看到明文内容。为此做了一个使用异或做了简单的加密方法,记录一下,代码如下:#include <string>#include <iostream>using namespace std;int key[] = { 1,2,3,4,5,6,7};void ...原创 2018-11-29 17:51:31 · 11596 阅读 · 1 评论 -
C++ 括号匹配
主要是利用栈进行入栈出栈匹配,代码如下:#include #include using namespace std;#define STACK_SIZE 100struct Stack{ char strStack[STACK_SIZE]; int top;};void InitStack(Stack &s){ s.top = -1;}char Pu原创 2016-04-07 14:32:29 · 6049 阅读 · 1 评论 -
C++ 指针和指针的指针深入理解
每个使用C or C++的同学,应该都会经历指针模糊的问题,取址符又是什么?指针和取址很容易混淆。现在来看一小段代码,以我的个人角度来细说理清一下。#include <iostream>int main(){ int i = 1; int j = 2; int* ip = &i; int* jp = &j; int** ipp = &ip; ...原创 2018-06-13 12:32:44 · 1070 阅读 · 2 评论 -
C++ 练习:用指针实现栈
使用C++的指针实现一个简单版的栈stack.h #ifndef stack_hpp#define stack_hpp#include <stdio.h>class Stack{public: Stack(); ~Stack(); bool Push(int value); int Pop(); priva...原创 2016-12-19 20:47:08 · 2171 阅读 · 0 评论