logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

Function Calling与OpenAI的关联性

上⾯这段其实就是⽤ JSON 格式来写的函数“说明书”。它不仅描述了函数的名字和作⽤,还列出了参数及其类型、是否必填等信息。之所以写成⼀个列表,是因为模型可能需要从多个函数中进⾏选择。是OpenAI 最先推出的⼀种⼯具使⽤机制,它采⽤了 OpenAPI 的标准来描述⼯具信息。值得注意的是,这些“说明书”本质上会被嵌⼊到模型的上下⽂中,会消耗⼀定的context taken。

文章图片
#java#前端#服务器
C++中emplace_back的原理分析

几乎所有数据都依附于内存,而内存本身是不在乎上层对它的使用的。比如在 0x123456 的地址中向后给出的 1000byte 大小的内存。回到 vector 中,在不考虑扩容状态下,数据的尾部会有一块未使用的内存,而 emplace_back() 可以直接在这块内存中直接构造对象。同样的,我们只要把上面实例代码的 push_back() 接口改为 emplace_back(),也能达到同样的效果。

文章图片
#c++#开发语言
在C++中堆内存的管理

是向高地址扩展的数据结构,是不连续的内存区域。这是由于系统是用链表来存储的空闲内存地址的,自然是不连续的,而链表的遍历方向是由低地址向高地址。对于堆资源的管理,可以说是 RAII 最典型的一种应用。当然我们可以自己简单实现一下,并观察其运行流程。* 提示:注意这里用到了一个叫做返回值优化的编译器优化。

文章图片
#jvm
在C++中使用预定义宏

由于需要传递打印的信息,因此这是一个宏函数,若要使用占位符号,则需要遵循变参宏的使用规则。可见,这么写实在是太长了,对于这种情况,我们可以把这个操作定义为一个宏。注意:这些预定于宏完全是由编译器实现的,因此请注意各种平台移植的问题。此处使用不同的宏,表示不通用的日志分类。

文章图片
#c++#算法#开发语言
在C++中参考源码的实现

其实多数编译器在 C++20 标准发布前就已经存在了这些内置指令,所以即使你的编译器不支持 C++20,也可以自行查看是否存在这些内置的指令函数,并使用它。而这里的函数名和列号两者均不相同,可见这部分的内容虽然标准给出了行为规定,但是具体实现还是有差别的。参考 gcc 和 mscv 的实现会发现内部依靠的是一些与 builtin 相关的内建函数。关于文件名是否包含路径问题,可能受到编译时的执行路径

文章图片
#c++#开发语言
C++变参模板之空参包的特殊情况

可能一些朋友对模板元编程并不感兴趣,但是我们目前很多常用的库和特性都依赖于变参模板的技术,如: 等等。相信阅读完本文后,再去查看这些库的源码时能更加如鱼得水。变参模板的出现,极大的提高了编码的编码的便捷性。并对于一些历史遗留问题,如:变参宏难以编写和调试,一些旧库的参数个数限制等等问题,将不复存在。回到前面我们需要传入空参时该怎么处理?很简单,我们直接用二元折叠表达式就是设定一个初值即可。那么,是

文章图片
#c++#java#开发语言
C++11的std::thread存在的问题

如你所知,是软件开发的重要技术手段之一。其简化了并行编程的难度,具有极大提升 CPU 利用率,提升程序处理数据的能力等众多优点。但是相比单线程编程有一定的编程难度和门槛。在目前绝大多数软性系统中几乎是必不可少的技术,同时也是面试中的常客。

文章图片
#c++#java#jvm
牛顿迭代Python代码实现

KMeans 聚类算法的功能是将给定的一组数据划分成 k 组,这里 k 的数目由使用者指定,算法可以将相似性高的数据划分到同一个组内,这样有助于发现数据之间的内在联系,在机器学习中经常使用。下面是 Python 版本的代码实现,可以看到,虽然要证明牛顿迭代的收敛性不太容易,但是只需要不到 10 行代码就可以实现牛顿迭代算法。动画演示了的牛顿迭代计算过程,可以发现随着迭代的进行,当前解很快就收敛到了

文章图片
#算法
在C++中什么是泛型编程?

在著名的《 Effective C++ 》中,开篇的第一个条款就指出,"视 C++ 为一个语言联邦"( View C++ as a federation of languages )。但是泛型编程具有一定的学习难度,其思想这与常见的面向对象式编程思想完全不同。使用泛型编程可以极大的提高代码的复用性和减少代码的冗余度。‌泛型编程是把数据类型当参数,写一次代码就能适配多种类型的编程方法‌,核心是提效率

文章图片
#算法#数据结构
浅谈:C++中cpp 14 ~ cpp 17

c++ 是一门不断发展的现代语言,在 cpp 20 中提出了概念和约束到标准中。注意一点,requires 子句需要是一个初等表达式 或者 带括号的表达式。requires是在template和函数体之间编写,提升可代码可阅读性。因此 cpp 14 建议可以通过另一个简单的符号表示该内容。直到 cpp 17 才在正式标准中进行了全面的完善。可以直接在模板函数中进行使用。因此我们可以得到以下的简洁版

文章图片
#c++#算法#开发语言
    共 21 条
  • 1
  • 2
  • 3
  • 请选择