C++——打印枚举常量字符串

#include <stdio.h>#define MY_INT 7777 #define STR(R) #R #define STR2(R) STR(R) enum MyType{ MyType_NULL, MyType_One, MyType_Two }; int main() { printf("%s\n", STR(MyType_One)); printf("%s\n", STR(HELLO_WORLD)); printf("%s\n", STR(MY_INT)); printf("%s\n", STR2(MY_INT)); const int arr[] = {1,2,3}; arr[1] = 4; // error: assignment of read-only location ‘arr[1]’ return 0; } 输出: MyType_One HELLO_WORLD MY_INT 7777 参考: c++中#与##的作用

April 12, 2023 · 1 min · Rick Cui

Git——TortoiseGit 分支相关操作

Git git 命令相关操作参考这里 【Git】如何进行分支合并 TortoiseGit clone 克隆远程仓库或指定分支 切换本地分支 pull 分支 如果本地是 dev 分支,pull 远程的 master 分支,会与本地的 dev 分支合并 push 分支

February 24, 2023 · 1 min · Rick Cui

Git——Windows TortoiseGit 配置 SSH

一、设置本地git的账户邮箱和用户名 查看是否设置了邮箱和用户名 git config user.name git config user.email 设置邮箱和用户名 git config --global user.name "Git账号" git config --global user.email "Git邮箱" 二、生成 SSH 密钥 在 git bash 中输入命令 ssh-keygen -t rsa -C "你的Git邮箱",敲三次回车,就会在目录 我的电脑—>C盘—>用户—>你自己的用户 目录下生成 .ssh 文件夹 三、将 SSH 公钥添加到 GitLab 账户 在 .ssh 文件夹下,使用记事本打开 id_rsa.pub 公钥文件,复制里面的内容 打开 gitlab 网站的 SSH keys,将复制的文本粘贴进去即可 四、TortoiseGit 使用 git SSH 密钥 打开 TortoiseGit setting 指定 SSH client 为 git 的 ssh....

February 22, 2023 · 1 min · Rick Cui

Git——stash TortoiseGit 将一个分支上的修改转移到另一个分支上

通过 git status 查看当前改动的状态 一、commit 操作之前 git stash //把修改的内容暂存起来 git checkout dev //切换到正确的分支 git stash pop //将存储的修改取出来 二、已经 commit git reset HEAD^ // 撤回到刚刚 commit 之前的状态 然后执行第一种情况的操作 三、使用 TortoiseGit stash changes 弹出对话框,点击 OK 按钮 切换分支 stash pop 参考: Git如何将一个分支上的修改转移到另一个分支上 在 TortoiseGit 中使用 stash 操作

February 22, 2023 · 1 min · Rick Cui

数据结构与算法——二叉树遍历

先序遍历 template<typename T> void PreOrder(BinaryTreeNode<T>* root){ stack<BinaryTreeNode<T>*> aStack; BinaryTreeNode<T>* pointer = root; aStack.push(nullptr); // 栈底监视哨 while(pointer){ // 或者 !aStack.empty() Visit(pointer); // 访问当前结点 if(pointer->rightchild() != nullptr){ // 右孩子入栈 aStack.push(pointer->rightchild()); } if(pointer->leftchild() != nullptr){ // 左路下降 pointer = pointer->leftchild(); }else{ // 左子树访问完毕,转向访问右子树 pointer = aStack.top(); aStack.pop(); } } } 中序遍历 template<typename T> void InOrder(BinaryTreeNode<T>* root){ stack<BinaryTreeNode<T>*> aStack; BinaryTreeNode<T>* pointer = root; while(!aStack.empty() || pointer){ if(pointer){ // Visit(pointer); // 前序访问点 aStack....

November 13, 2022 · 1 min · Rick Cui