文档章节

标准C11中的泛型

wangxuwei
 wangxuwei
发布于 2015/06/14 22:43
字数 108
阅读 342
收藏 4
/*
 *
 *  gcc -std=c11 -o gen1 gen1.c 
 * 
 * */

#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define GENERAL_ABS(x)  _Generic((x), int:abs, float:fabsf, double:fabs)(x)


static void GenericTest(void)
{
    printf("int abs: %d\n", GENERAL_ABS(-12));
    printf("float abs: %f\n", GENERAL_ABS(-12.04f));
    printf("double abs: %f\n", GENERAL_ABS(-13.09876));
     
    int a = 10;
    int b = 0, c = 0;
     
    _Generic(a + 0.1f, int:b, float:c, default:b)++;
    printf("b = %d, c = %d\n", b, c);
     
    _Generic(a += 1.1f, int:b, float:c, default:b)++;
    printf("a = %d, b = %d, c = %d\n", a, b, c);
}

 
int main(void)
 
{
   GenericTest();
   return 0;
}

 

© 著作权归作者所有

共有 人打赏支持
wangxuwei
粉丝 24
博文 332
码字总数 115454
作品 0
杭州
其他
c、c++作用域问题&C语言的各种版本:C89,AMD1,C99,C11

突然想到这个问题,循环变量i的作用范围。 标准c语言不能这样定义 编译会失败。 c++中 C语言的各种版本:C89,AMD1,C99,C11 【背景】 之前就知道了有个C90和C99。 后来又在: 【已解决】弄...

mickelfeng
2012/11/04
0
0
C语言自学《一》 ---- 初探C语言

初步了解C语言 C语言是一种功能强大、简洁的计算机语言,通过它可以编写程序,指挥计算机完成指定的任务等等 C语言由一个国际标准定义,目前最新的标准为C11,由于C11标准定义的一些语言元素...

罗眯眯
2014/03/15
0
0
哪里可以找到稍微系统一点的C11标准的资料??

哪里可以找到稍微系统一点的C11标准的资料?? 我在http://en.cppreference.com/w/上找到有C11标准,有些新特性还是比较值得我去了解的。具体可以直接上去看下有什么新特性。可惜就是它的描述...

AdamBC
2012/06/13
547
6
用ECL编译字符游戏的跨平台(Linux/OSX/WINDOWS)可执行文件

用ECL编译字符游戏的跨平台(Linux/OSX/WINDOWS)可执行文件 说明 前面我们用 写了一个代码超简短的字符游戏, 不过每次运行时都需要通过 来加载, 本文介绍一种可以把 代码编译为可执行文件的方...

FreeBlues
2016/01/20
122
15
JavaSE_8系列博客——Java语言的特性(六)--泛型(5)--泛型的使用

JDK类库中泛型的使用 集合类 到目前为止,Java 类库中泛型支持存在最多的地方就是集合框架。就像容器类是 C++ 语言中模板的主要动机一样(参阅 附录 A:与 C++ 模板的比较)(尽管它们随后用...

u011500356
2017/09/23
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何通过 J2Cache 实现分布式 session 存储

做 Java Web 开发的人多数都会需要使用到 session (会话),我们使用 session 来保存一些需要在两个不同的请求之间共享数据。一般 Java 的 Web 容器像 Tomcat、Resin、Jetty 等等,它们会在...

红薯
今天
3
0
C++ std::thread

C++11提供了std::thread类来表示一个多线程对象。 1,首先介绍一下std::this_thread命名空间: (1)std::this_thread::get_id():返回当前线程id (2)std::this_thread::yield():用户接口...

yepanl
今天
3
0
Nignx缓存文件与动态文件自动均衡的配置

下面这段nginx的配置脚本的作用是,自动判断是否存在缓存文件,如果有优先输出缓存文件,不经过php,如果没有,则回到php去处理,同时生成缓存文件。 PHP框架是ThinkPHP,最后一个rewrite有关...

swingcoder
今天
2
0
20180920 usermod命令与用户密码管理

命令 usermod usermod 命令的选项和 useradd 差不多。 一个用户可以属于多个组,但是gid只有一个;除了gid,其他的组(groups)叫做扩展组。 usermod -u 1010 username # 更改用户idusermod ...

野雪球
今天
3
0
Java网络编程基础

1. 简单了解网络通信协议TCP/IP网络模型相关名词 应用层(HTTP,FTP,DNS等) 传输层(TCP,UDP) 网络层(IP,ICMP等) 链路层(驱动程序,接口等) 链路层:用于定义物理传输通道,通常是对...

江左煤郎
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部