当前位置: 首页 > news >正文

2311dC++连接与串

原文
extern(C++)函数使用在装饰名中包括参数类型的C++装饰名.但是,因为C++没有像D的T[]内置切片类型,因此C++没有有效的D切片装饰.
因此,无法编译以D切片为参数的extern(C++)函数.
为此,可按结构转换切片:

struct DSlice(T)
{T* ptr;size_t length;T[] opIndex() => ptr[0 .. length];
}
DSlice!T toDslice(T)(T[] slice)
{return DSlice!T(slice.ptr, slice.length);
}
extern(C++) void hello(DSlice!(const(char)) arg)
{import std.stdio;writeln(arg[]);
}
void main()
{const(char)[] greeting = "hello";hello(greeting.toDslice);
}
http://www.lryc.cn/news/218659.html

相关文章:

  • macOS 下 starUML 软件激活方案
  • 一文读懂从 CPU 多级缓存 缓存一致性协议(MESI)到 Java 内存模型
  • MongoDB设置密码
  • 重生奇迹mu召唤师怎么加点?
  • 第九章《搞懂算法:决策树是怎么回事》笔记
  • jar包的精细化运营,Java模块化简介 | 京东云技术团队
  • 「Verilog学习笔记」移位运算与乘法
  • 静态、友好、内在:解析C++中的这些特殊元素和对象复制的优化
  • 【RabbitMQ】 RabbitMQ 消息的延迟 —— 深入探索 RabbitMQ 的死信交换机,消息的 TTL 以及延迟队列
  • CVE-2023-34040 Kafka 反序列化RCE
  • 全局变量和局部变量在for循环的使用
  • pytorch collate_fn测试用例
  • 【qemu逃逸】HITB2017-babyqemu 2019数字经济-qemu
  • Docker Compose学习笔记
  • 基于树 二叉树的回溯搜索算法(DPLL)
  • 【嵌入式】适用于ESP32/ESP8266远程自动烧录工具
  • 服务器遭受攻击如何处理(记录排查)
  • 分享81个工作总结PPT,总有一款适合您
  • 什么是DITA?从百度的回答说起
  • 线扫相机DALSA软件开发套件有哪些
  • Scala集合操作
  • SQL备忘--特殊状态“未知“以及“空值NULL“的判断
  • 《Pytorch新手入门》第一节-认识Tensor
  • 【JAVA学习笔记】55 - 集合-Map接口、HashMap类、HashTable类、Properties类、TreeMap类(难点)
  • Pytorch图像模型转ONNX后出现色偏问题
  • 插值表达式 {{}}
  • 白雪公主
  • 宏观角度认识递归之合并两个有序链表
  • Leetcode-509 斐波那契数列
  • 解密 docker 容器内 DNS 解析原理