首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏10km的专栏

    C++11 元编程(meta-programming)判断T是否有==操作符

    前几天看了《C++11之美》受到一些启发,想到可以通过判断一个类型是否有指定的操作符(比如==,>=)。 基本的原理与文中的差不多,利用SFINAE原则,通过返回类型后置来推断表达式的类型,推断的过程中利用declval,它可以获取类型的右值引用,以便来调用==操作符,这个过程是在编译期完成的。 如果通过==操作符比较declval的右值引用成功了,则会继续推断逗号表达式的类型,最终推断的函数返回类型为bool; 如果通过==操作符比较declval的右值引用失败了,则推断失败,编译器会选择优先级最低的test(...)函数,它的返回类型为void。 我们最后判断实例化的test<T>(0)的返回值是否为bool,可以知道类型T是否存在==操作符。

    51730编辑于 2022-05-07
  • 来自专栏科学计算

    10 元编程

    比如 meta-knowledge 就是「关于知识本身的知识」,meta-data 就是「关于数据的数据」,meta-language 就是「关于语言的语言」,而 meta-programming 也是由此而来 那么照猫画虎,怎样才算 meta-programming 呢? 泛泛来说,只要是与编程相关的编程就算是 meta-programming 了——比如,若编程甲可以输出 A - Z,那么写程序甲算「编程」;而程序乙可以生成程序甲(也许还会连带着运行它输出 A - Z) ,那么编写程序乙的活动,就可以算作 meta-programming,「元编程」。

    1.1K20发布于 2020-06-30
  • 来自专栏C++ 动态新闻推送

    C++ 动态新闻推送 第24期

    手把手带你看汇编 Did you know about C++2X proposal for the Circle Meta-model for compilation-time meta-programming

    38820发布于 2021-08-31
  • 来自专栏深度学习与python

    KSP2 致力于改善 Kotlin 元编程,并添加对 K2 Kotlin 编译器的支持

    查看英文原文: KSP2 Aims to Improve Kotlin Meta-Programming, Adds Support for the K2 Kotlin Compiler(https:/

    53410编辑于 2024-01-23
  • 来自专栏零域Blog

    「SF-LC」8 Maps

    examplemap = Map.empty |> Map.add ~key:"foo" ~data:true |> Map.add ~key:"bar" ~data:true Lightweight Meta-Programming

    47740编辑于 2022-03-14
  • 来自专栏AI科技大本营的专栏

    Python中的元编程:一个关于修饰器和元类的简单教程

    举个例子来说,若编程甲可以输出 A - Z,那么写程序甲算「编程」;而程序乙可以生成程序甲(也许还会连带着运行它输出 A - Z),那么编写程序乙的活动,就可以算作 meta-programming

    91520发布于 2019-10-24
  • 来自专栏一个会写诗的程序员的博客

    第12章 元编程与注解、反射第12章 元编程与注解、反射

    12.1 元编程简介 说到元编程(Meta-programming),我们从 Meta- 这个前缀开始说起。Meta- 这个前缀在在西方哲学界指的是:关于事物自身的事物。 再例如, meta-knowledge 就是“关于知识本身的知识”,meta-data 就是“关于数据的数据”,meta-language 就是“关于语言的语言”,而 meta-programming 元编程(Meta-programming)是指用代码在编译期或运行期生成或改变代码的一种编程形式。编写元程序的语言称之为元语言,被操纵的语言称之为目标语言。

    1.3K20发布于 2018-08-17
  • 来自专栏HelloGitHub

    适合 C++ 新手学习的开源项目——在 GitHub 学编程

    与知名书籍 C++ Templates 不同,该系列教程将 C++ Templates 作为一门图灵完备的语言来讲授,以求帮助读者对 Meta-Programming 融会贯通。

    3K40发布于 2021-05-14
  • 来自专栏数据派THU

    独家 | Python数据分析入门指南

    对画图功能也有一些包装,使得无需使用MPL(Meta-Programming Library,元编程库)就可以快速实现画图。我使用Pandas而非其他的工具来操作数据。

    1.5K60发布于 2018-01-29
  • 来自专栏华章科技

    独家 | Python数据分析入门指南

    对画图功能也有一些包装,使得无需使用MPL(Meta-Programming Library,元编程库)就可以快速实现画图。我使用Pandas而非其他的工具来操作数据。

    90130发布于 2018-08-17
  • 来自专栏ShanSan的云原生之路

    (译) Understanding Elixir Macros, Part 1 Basics

    元编程 (Meta-programming) 或许你已经对 Elixir 中的元编程有一点了解. 其主要的思想就是我们可以编写一些代码, 它们会根据某些输入来生成代码. 编译时元编程 (Compile time meta-programming)也意味着我们不会有性能损失. 进入运行时 (run-time) 后, 代码就已经定型了, 代码中不会有元编程结构在运行.

    73430编辑于 2023-10-21
  • 来自专栏ccf19881030的博客

    Cplus_libs_wrapper-一些关于C++的常用功能的接口实现

    与知名书籍C++ Templates不同,该系列教程将C++ Templates作为一门图灵完备的语言来讲授,以求帮助读者对Meta-Programming融会贯通。

    2.8K20发布于 2021-05-06
  • 来自专栏云深之无迹

    juila(0)

    ❑ Lisp语言式的宏及元编程(Meta-programming)范式的支持。 ❑ 内置的第三方功能包管理器。 ❑ 可与Python、R、Matlab及Java等语言进行混合编程。

    2.5K20发布于 2021-04-14
  • 来自专栏WOLFRAM

    使用Wolfram元编程+编译 加速一类回溯算法

    不过Mathematica具备像LISP中“数据即代码,代码即数据,一切都是表达式”和擅长符号计算等特性,我们可以很方便的进行元编程(Meta-Programming),通过写代码来动态生成代码再编译,

    1.6K20发布于 2019-10-23
  • 来自专栏一丘一壑

    Meta Box:一个被名字耽误的强大的WordPress自定义字段插件

    meta model:model about model,元模型 meta-合成词代表的东西可以归结为某种额外之物,伴随着原始对象的更高需求而产生 典型的HTML meta标签是HTML文档的补充(加强) meta-programming

    5.1K20发布于 2019-04-17
  • 来自专栏谢公子学安全

    蓝队应急响应之“雄鸡夜鸣”

    其中最严重的就是绕过Groovy沙盒导致未授权用户可执行任意命令:Jenkins在沙盒中执行Groovy前会先检查脚本是否有错误,检查操作是没有沙盒的,攻击者可以通过Meta-Programming的方式

    83810编辑于 2022-01-20
  • 来自专栏一个会写诗的程序员的博客

    Springboot中使用Scala开发使用SB與Scala

    在脚本和web页面这种需要动态元素和元程序元素(meta-programming element)方面Groovy比较擅长。其动态特性使得对于企业级服务器端核心业务逻辑开发并不是一个好的选择。

    1.3K10发布于 2018-08-20
  • 来自专栏FreeBuf

    蓝队应急响应之“雄鸡夜鸣”

    其中最严重的就是绕过Groovy沙盒导致未授权用户可执行任意命令:Jenkins在沙盒中执行Groovy前会先检查脚本是否有错误,检查操作是没有沙盒的,攻击者可以通过Meta-Programming的方式

    77510发布于 2021-03-09
  • 来自专栏鸿鹄实验室

    红队技巧之F#利用

    Higher-Order Function、Currying、Lazy Evaluation、Continuations、Pattern Matching、Closure、List Processing、Meta-Programming

    2K30发布于 2021-07-06
  • 来自专栏CodeGuide | 程序员编码指南

    不重复造轮子都是骗小孩的,教你手撸 SpringBoot 脚手架!

    Scaffolding is a meta-programming method of building database-backed software applications.

    3.7K40发布于 2021-03-22
领券