C
XSomebody
这个作者很懒,什么都没留下…
展开
-
C++中循环include问题的讨论
C语言中未避免头文件的重复引用,一般都会使用include guard(如pragma once或#ifndef等),但这样做以后并不是万事大吉了。循环使用include可能会出现一些意想不到的错误。如果代码较为复杂,这些错误编译器可能并不能很好的检查出来。比如:a.cpp引用a.h,a.h引用b.h,b.h引用a.h。此时a.h被引用了两次,如果使用include guard,则此时b.h引用a.h为无效引用。原创 2023-02-14 19:35:12 · 702 阅读 · 0 评论 -
八皇后问题 C语言实现
问题:在8×8格的国际象棋上摆放8个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。思路:对于计算机问题的求解,我们完全可以模仿人类的解题思路,并将其抽象化,形成可供计算机执行的代码。首先,我们考虑使用枚举的方式,但应保证枚举不重复。故我们将八个棋子分别编号,并让编号小的棋子永远在编号大的棋子前,从左到右,从上到下,从编号小的棋子依次排列到编号大的棋子。按照这个思路,我们可以定义一个8*8的二维数组,二维数组的值代表这个棋子的编号。..原创 2020-11-17 22:03:40 · 4571 阅读 · 0 评论 -
C++ 的复制省略(copy elision)特性
在上述代码中,①和②的意思是不一样的。②是直接声明,①则是先初始化一个临时的对象,在将其复制给test1(这里注意一下,如果把③的const去掉,程序会报错,因为。C++复制省略的介绍: https://zh.wikipedia.org/wiki/%E5%A4%8D%E5%88%B6%E7%9C%81%E7%95%A5。但由于copy elision特性的存在,拷贝初始化会被转换为直接初始化,即②会转换为①的形式。copy elision的特性可以在gcc中通过添加。生成的是一个临时的对象。原创 2023-02-05 00:05:58 · 198 阅读 · 0 评论 -
RSA C语言实现
RSA密钥生成和加解密,前面的C语言实现原创 2022-05-14 14:47:41 · 2079 阅读 · 0 评论 -
DES算法 C语言实现
DES加密算法的C语言实现原创 2022-04-07 11:58:52 · 4866 阅读 · 0 评论 -
GDB 入门
参考视频:https://www.bilibili.com/video/BV1vQ4y1N7Pv?spm_id_from=333.337.search-card.all.click使用前准备使用 -g 编译文件gcc -g test.c启动gdb:gdb <file_name>gdb a.out常用指令指令缩写功能runr执行continuec继续执行nextn下一条指令(打印接下来执行的指令)quitq退出f.原创 2022-03-20 22:15:39 · 399 阅读 · 0 评论