一个有趣的c++案例

 1. 源码

#include <stdio.h>
#include <stdint.h>
#include <iostream>

using namespace std;

uint8_t a = 0;
uint8_t b = 0;

#define MY_LOG

#ifdef MY_LOG

#define my_log(...)   printf(__VA_ARGS__); fflush(stdout)

#else
#define my_log(...)   
#endif


void printf_info(){cout<<endl;fflush(stdout);}

template <typename T, typename... Types >
void printf_info(const T first_arg, Types&... other)
{
    cout << first_arg;
    printf_info(other...);
    fflush(stdout);
}

int main(int argn, char* argv[])
{
    my_log("a:%d, b:%d\n",a, b);
    int aa = (int)a;
    int bb = (int)b;
    printf_info("a:",aa, "  b:", bb);
    a = b + 1;
    b = 1;
    return 0;
}

2.Makefile

TGT := app
OPTION := -I.
SRC = reorder_demo.cpp

all:$(TGT)
	@echo "Make successfull!"

$(TGT):$(SRC)
	g++ -std=c++11 $(OPTION) $^ -o $@

clean:
    ifneq ( ,$(TGT))
		@rm $(TGT)
    else
		@echo "no fi
		e exist, nothing to do"
    endif

.PHONY: all clean

3. 结果

xuehy@ubuntu:~/code/cpp_demo$ ./app 
a:0, b:0
a:0  b:0

4. 后记

一切好处尽在不言中,蕴含知识点如下如下

  • log的重定义
  • 变数参数函数
  • makefile中删除对象

相关推荐

  1. 一个有趣c++案例

    2024-06-12 08:04:04       22 阅读
  2. Mongodb中一个有趣数值查询案例

    2024-06-12 08:04:04       50 阅读
  3. html一个简单案例

    2024-06-12 08:04:04       58 阅读
  4. 一个简单springcloud案例

    2024-06-12 08:04:04       30 阅读
  5. 有趣猜数游戏C/C++

    2024-06-12 08:04:04       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-12 08:04:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-12 08:04:04       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-12 08:04:04       82 阅读
  4. Python语言-面向对象

    2024-06-12 08:04:04       91 阅读

热门阅读

  1. “手撕”二叉树的OJ习题

    2024-06-12 08:04:04       24 阅读
  2. jQuery Ajax 基本用法 附带Fetch API

    2024-06-12 08:04:04       29 阅读
  3. cd和pwd命令

    2024-06-12 08:04:04       26 阅读
  4. Date类

    2024-06-12 08:04:04       24 阅读
  5. LINUX

    LINUX

    2024-06-12 08:04:04      29 阅读
  6. Mongodb学习

    2024-06-12 08:04:04       27 阅读
  7. 【每日一题】01

    2024-06-12 08:04:04       22 阅读
  8. MYSQL execute command denied to user ‘‘@‘%‘ for routine

    2024-06-12 08:04:04       27 阅读
  9. 【SpringBoot】理解Spring Boot自动配置的底层原理

    2024-06-12 08:04:04       31 阅读
  10. CentOS Linux Yum Docker安装与升级

    2024-06-12 08:04:04       29 阅读