鱼C论坛

 找回密码
 立即注册
查看: 6525|回复: 65

[吹水] 宏定义写的船新的语言

[复制链接]
发表于 2023-8-14 13:05:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
众所周知,使用宏定义名称编译时相当于直接将名称替换成值,那么咱们是不是把代码里充满宏定义呢
比如,这里需要实现,输入一个整数,然后把这个整数自增1,然后再输出,正常c++代码:
  1. #include <iostream>
  2. using namespace std;
  3. int main(){
  4.         int x;
  5.         cin >> x;
  6.         x = x + 1;
  7.         cout << x;
  8.         return 0;
  9. }
复制代码

咱们只需要写一堆简单的宏定义,就能替换掉所有的代码,宏定义代码:
  1. #include <iostream>
  2. #define num int
  3. #define flt double
  4. #define plu +
  5. #define min -
  6. #define mut *
  7. #define div /
  8. #define rem %
  9. #define is =
  10. #define begin int main(){
  11. #define end return 0;}
  12. #define print cout
  13. #define input cin
  14. #define pnext <<
  15. #define inext >>
  16. #define endl ;
  17. using namespace std;
复制代码

然后把这个宏定义写进一个文件,咱们写代码的时候只要(要使用双引号,因为这样才能引入同一个目录下的文件)
  1. #include "宏定义"
复制代码

就可以直接开始写了,我给这个起了个名字,因为这就已经不像c++了,是一个船新的语言,并且用的都是英文,所以起名为nl_e(new language_english)
好的,那么我们就可以酱紫写代码了:
  1. #include "nl_e"
  2. begin
  3. num x endl
  4. input inext x endl
  5. x is x plu 1 endl
  6. print pnext x endl
  7. end
复制代码

这还是你认识的c++吗,能通过编译,并且结果正常
这还不够,可以通过修改宏定义让代码抽象起来
比如说,全用小写字母,因为不是人类能看懂的,所以起名为nl_nfh(new language_not for human)
来看看
  1. #include <iostream>
  2. #define a int
  3. #define b double
  4. #define c +
  5. #define d -
  6. #define e *
  7. #define f /
  8. #define g %
  9. #define h =
  10. #define i int main(){
  11. #define j return 0;}
  12. #define k cout
  13. #define l cin
  14. #define m <<
  15. #define n >>
  16. #define o ;
  17. using namespace std;
复制代码

来看看代码
  1. #include "nl_nfh"
  2. i
  3. a x o
  4. l n x o
  5. x h x c 1 o
  6. k m x o
  7. j
复制代码

恐怖的抽象程度
两个都打包在一个zip里了
nl.zip (484 Bytes, 下载次数: 0)
仅供娱乐
觉得有意思请评分
@学习编程中的Ben @高山 @zhangjinxuan @liuhongrun2022 @tommyyu

点评

可以评负分马  发表于 2023-8-14 13:16

评分

参与人数 2荣誉 +10 贡献 +3 收起 理由
Ewan-Ahiouy + 5
python爱好者. + 5 + 3 无条件支持楼主!

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-8-14 13:08:24 | 显示全部楼层
仅供娱乐,认真你就输了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-14 13:10:22 | 显示全部楼层
我有一个想法
定义一个全局的 01 main 数组,继承打纸条
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-14 13:12:17 | 显示全部楼层
tommyyu 发表于 2023-8-14 13:10
我有一个想法
定义一个全局的 01 main 数组,继承打纸条

有点看不懂
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-14 13:13:16 | 显示全部楼层

c++ 编译器会把这个 main 数组当成函数,然后用机器语言(大概是吧?)编译
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-14 13:15:28 | 显示全部楼层
tommyyu 发表于 2023-8-14 13:13
c++ 编译器会把这个 main 数组当成函数,然后用机器语言(大概是吧?)编译

这可行吗
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-14 13:16:17 | 显示全部楼层
说,你是不是看到过这个视频 -> https://www.bilibili.com/video/B ... _history.page.click

点评

吹水阁  发表于 2023-8-14 13:19
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-14 13:18:09 | 显示全部楼层
歌者文明清理员 发表于 2023-8-14 13:16
说,你是不是看到过这个视频 -> https://www.bilibili.com/video/BV1g44y1c7az/?spm_id_from=333.880.my_hi ...

在,摄,拆,懂?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-14 13:18:49 | 显示全部楼层
陈尚涵 发表于 2023-8-14 13:18
在,摄,拆,懂?

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-14 13:19:09 | 显示全部楼层

貌似可行,但是我捣鼓不出来。这个代码不会报错:
  1. #include <iostream>
  2. using namespace std;
  3. int main[5] = {1, 1, 1, 1, 1};
复制代码
证明了这种方法的可行性
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-14 13:21:13 | 显示全部楼层
陈尚涵 发表于 2023-8-14 13:18
在,摄,拆,懂?

Snipaste_2023-08-14_13-19-48.png
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-14 13:22:11 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-14 13:23:48 | 显示全部楼层

快快交上1145鱼币,不然我就曝光你的浏览器历史记录
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-14 13:24:33 | 显示全部楼层

btw,我今天也看过这个视频,因为它今天上主页了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-8-14 13:24:39 | 显示全部楼层
歌者文明清理员 发表于 2023-8-14 13:23
快快交上1145鱼币,不然我就曝光你的浏览器历史记录

小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-14 13:24:52 | 显示全部楼层
歌者文明清理员 发表于 2023-8-14 13:24
btw,我今天也看过这个视频,因为它今天上主页了

俺也一样
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-14 13:25:37 | 显示全部楼层
歌者文明清理员 发表于 2023-8-14 13:24
btw,我今天也看过这个视频,因为它今天上主页了

我记得之前有人用 python 实现过 c++ 的语法,我找一下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-14 13:26:40 | 显示全部楼层
tommyyu 发表于 2023-8-14 13:25
我记得之前有人用 python 实现过 c++ 的语法,我找一下

我做不到 cout 和cin……
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-14 13:27:25 | 显示全部楼层
突然发现自从有了gpt后大家都开始吹水了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-8-14 13:29:58 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-6-30 22:19

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表