宏定义写的船新的语言
众所周知,使用宏定义名称编译时相当于直接将名称替换成值,那么咱们是不是把代码里充满宏定义呢{:10_256:}比如,这里需要实现,输入一个整数,然后把这个整数自增1,然后再输出,正常c++代码:
#include <iostream>
using namespace std;
int main(){
int x;
cin >> x;
x = x + 1;
cout << x;
return 0;
}
咱们只需要写一堆简单的宏定义,就能替换掉所有的代码,宏定义代码:
#include <iostream>
#define num int
#define flt double
#define plu +
#define min -
#define mut *
#define div /
#define rem %
#define is =
#define begin int main(){
#define end return 0;}
#define print cout
#define input cin
#define pnext <<
#define inext >>
#define endl ;
using namespace std;
然后把这个宏定义写进一个文件,咱们写代码的时候只要(要使用双引号,因为这样才能引入同一个目录下的文件)
#include "宏定义"
就可以直接开始写了,我给这个起了个名字,因为这就已经不像c++了,是一个船新的语言,并且用的都是英文,所以起名为nl_e(new language_english)
好的,那么我们就可以酱紫写代码了:
#include "nl_e"
begin
num x endl
input inext x endl
x is x plu 1 endl
print pnext x endl
end
这还是你认识的c++吗,能通过编译,并且结果正常
这还不够,可以通过修改宏定义让代码抽象起来
比如说,全用小写字母,因为不是人类能看懂的,所以起名为nl_nfh(new language_not for human)
来看看
#include <iostream>
#define a int
#define b double
#define c +
#define d -
#define e *
#define f /
#define g %
#define h =
#define i int main(){
#define j return 0;}
#define k cout
#define l cin
#define m <<
#define n >>
#define o ;
using namespace std;
来看看代码
#include "nl_nfh"
i
a x o
l n x o
x h x c 1 o
k m x o
j
恐怖的抽象程度
两个都打包在一个zip里了
仅供娱乐{:10_256:}
觉得有意思请评分{:10_297:}
@学习编程中的Ben @高山 @zhangjinxuan @liuhongrun2022 @tommyyu
仅供娱乐,认真你就输了{:10_256:}{:10_256:}{:10_256:} 我有一个想法{:10_256:}
定义一个全局的 01 main 数组,继承打纸条{:10_256:} tommyyu 发表于 2023-8-14 13:10
我有一个想法
定义一个全局的 01 main 数组,继承打纸条
{:10_257:}有点看不懂 陈尚涵 发表于 2023-8-14 13:12
有点看不懂
c++ 编译器会把这个 main 数组当成函数,然后用机器语言(大概是吧?)编译{:10_256:} tommyyu 发表于 2023-8-14 13:13
c++ 编译器会把这个 main 数组当成函数,然后用机器语言(大概是吧?)编译
这可行吗{:10_257:} 说,你是不是看到过这个视频 -> https://www.bilibili.com/video/BV1g44y1c7az/?spm_id_from=333.880.my_history.page.click 歌者文明清理员 发表于 2023-8-14 13:16
说,你是不是看到过这个视频 -> https://www.bilibili.com/video/BV1g44y1c7az/?spm_id_from=333.880.my_hi ...
在,摄,拆,懂?{:10_334:} 陈尚涵 发表于 2023-8-14 13:18
在,摄,拆,懂?
? 陈尚涵 发表于 2023-8-14 13:15
这可行吗
貌似可行,但是我捣鼓不出来。这个代码不会报错:#include <iostream>
using namespace std;
int main = {1, 1, 1, 1, 1};证明了这种方法的可行性 陈尚涵 发表于 2023-8-14 13:18
在,摄,拆,懂?
歌者文明清理员 发表于 2023-8-14 13:21
{:10_250:}你才知道 陈尚涵 发表于 2023-8-14 13:22
你才知道
快快交上1145鱼币,不然我就曝光你的浏览器历史记录{:10_334:} 陈尚涵 发表于 2023-8-14 13:22
你才知道
btw,我今天也看过这个视频,因为它今天上主页了 歌者文明清理员 发表于 2023-8-14 13:23
快快交上1145鱼币,不然我就曝光你的浏览器历史记录
{:10_277:} 歌者文明清理员 发表于 2023-8-14 13:24
btw,我今天也看过这个视频,因为它今天上主页了
俺也一样{:10_256:} 歌者文明清理员 发表于 2023-8-14 13:24
btw,我今天也看过这个视频,因为它今天上主页了
我记得之前有人用 python 实现过 c++ 的语法,我找一下 tommyyu 发表于 2023-8-14 13:25
我记得之前有人用 python 实现过 c++ 的语法,我找一下
我做不到 cout 和cin…… {:10_257:}突然发现自从有了gpt后大家都开始吹水了 歌者文明清理员 发表于 2023-8-14 13:26
我做不到 cout 和cin……
https://www.bilibili.com/video/BV1a84y1t7c5/?spm_id_from=333.788