致自己

在线迭代RLHF实战:从原理到实现,复现超越官方指令模型的工作流 大语言模型(LLM)的对齐技术是提升其与人类意图一致性的关键。其中,基于人类反馈的强化学习(RLHF)通过引入人类偏好信号,指导模型优化生成策略,是实现模型“有用”与“无害”的核心方法。其技术价值在于将抽象的“对齐”目标转化为可优化的奖励信号,从而显著提升模型在对话、推理等任务中的表现。然而,传统的离线RLHF存在数据分布偏移和奖励黑客等瓶颈。在线迭代RLHF通过构建“生成-评估-学习”的动态数据循环,让模型能够利用自身最新生成的数据进行持续优化,有效克服了上述问题,成为当前提升指令模型性能的前沿方向。本文 阅读详情

(1)赋值函数的书写步骤:
a.判断是否是自身赋值;
b.释放原有空间;
c.开辟新空间并赋新值;
d.返回自身对象;
eg:

   String& operator=(const String &str)
    {
        cout<<"Assign: "<<this<<endl;
        //(1)判断是否是自身赋值
        if(this != &str){
            free(data);   //(2)释放原有空间
            //(3)开辟新空间并赋值
            data = (char *)malloc(strlen(str.data) + 1); 
            strcpy(data, str.data);
        }
        //(4)返回自身对象
        return *this;
    }

(2)拷贝构造函数:

  String(const String &str)
    {
        cout<<"copy create"<<endl;
        data = (char *)malloc(strlen(str.data) + 1);
        strcpy(data, str.data);   //一般还会用到memcpy函数
    }

(3)C和C++的区别
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

(4)c++中的const
A.

int main()
{
    const int a = 10;
    int b = 20;
    //const int *p 与 int const *p 是一样的道理
    const int *  p = &a;    //p可以改变,但*p不可以改变(*p为常量)
    //*p = 100;    
    p = &b;    //p可以改变,因为p不是常量(const)
    return 0;
}

[root@localhost Test4_2]# g++ test1.cpp -o test1
test1.cpp: In function ‘int main()’:
test1.cpp:75:7: error: assignment of read-only variable ‘p’
     p = &b;
       ^

B.

int main()
{
    //const int a = 10;  //将int *const p改为const int * const p 也可以
    int a = 10;
    int b = 20;
    int *  const p = &a;    //p不可以改变,但*p可以改变(*p不为常量)
    *p = 100;    //*p可以改变(不是常量const)
    //p = &b;    //p不可以改变,因为p是常量(const)
    return 0;
}
[root@localhost Test4_2]# g++ test1.cpp -o test1
test1.cpp: In function ‘int main()’:
test1.cpp:73:23: error: invalid conversion from ‘const int*’ to ‘int*’ [-fpermissive]
     int *  const p = &a;    //p不可以改变,但*p可以改变(*p不为常量)
                       ^
test1.cpp:75:7: error: assignment of read-only variable ‘p’
     p = &b;    //p不可以改变,因为p是常量(const)
       ^
[root@localhost Test4_2]# 

C.

int main()
{
    const int a = 10;
    //int a = 10;
    int b = 20;
    const int *  const p = &a;    //p不可以改变,但*p也不可以改变(*p和p都为常量)
    *p = 100;    //*p不可以改变(是常量const)
    p = &b;    //p不可以改变,因为p是常量(const)
    return 0;
}
[root@localhost Test4_2]# g++ test1.cpp -o test1
test1.cpp: In function ‘int main()’:
test1.cpp:75:8: error: assignment of read-only location ‘*(const int*)p’
     *p = 100;    //*p不可以改变(是常量const)
        ^
test1.cpp:76:7: error: assignment of read-only variable ‘p’
     p = &b;    //p不可以改变,因为p是常量(const)
       ^
[root@localhost Test4_2]# 

(5)输出流是否可以重载为类的成员函数
答:从语法上是可以的,但是调用的时候需要用对象调用cout,那么输出方式就会与习惯不同,习惯上是:cout<<i;;但是将其重载为类的成员函数后的输出就变为:i<<cout;;所以一般将输出流重载为友元函数

(6)++运算符的重载

前置++:

Int& operator++()  //前置++没有参数
{
    i++;
    return *this;    //返回对象的引用(即就是对象的地址)
}

后置++

//后置++有参数
A.
Int operator++(int)
{
    Int tmp(i);   //定义临时变量(此处调用的是类Int的构造函数)
    i++;
    return tmp;   //返回临时变量
}

B.
Int operator++(int)
{
    Int tmp(*this);   //定义临时变量(此处调用类Int的拷贝构造函数)
    i++;
    return tmp;
}

(6)空指针可以无限制释放,没有影响

(7)*缓冲区在内核的内存区
*

手把手教你 RT-DETR 添加注意力机制 | 一次性添加 20+ 种! 阅读详情

相关推荐

详述字符集与汉字编码

字符集与字符编码是文本处理的基础概念。字符集定义字符集合(如ASCII、GB2312、Unicode),字符编码则规定字符如何存储为二进制数据。汉字编码经历了从区域化(GB2312、GBK、BIG5)到全球化(Unicode)的演进,Unicode通过UTF-8、UTF-16等编码方案实现跨语言兼容。UTF-8因兼容ASCII、节省空间且无乱码风险,成为中文互联网的主流编码。正确处理编码问题需统一标准、明确声明格式,并注意生僻字的特殊处理。

零零发不爱ai的博客 805

C++学习 十一、const, mutable关键字

C++学习 十一、const关键字前言const常量const修饰普通类型的变量volatile关键字常量指针与指针常量常量指针指针常量一句话辨析const变量与指针常量引用const与函数参数const指针参数const引用参数const返回类型返回值返回引用后记 前言 本篇继续C++学习,const关键字。 const常量 C++中,const被用于向编译器指定不变值,也就是常量。 const修饰普通类型的变量 当const用于修饰普通类型的变量时,该变量值将不能被修改,也就是成为一个常量,否则将报错e

qq_41035283的博客 2904

Android以太网开关流程分析

Android以太网开关流程分析 一、引言   在Android 以太网服务启动流程中我们启动了EthernetService(ES),NetworkManagementService(NMS)等服务,其中ES作为Binder的服务端,向客户端EthernetManger提供了调用接口的引用。因此,应用可以通过EthernetManger来访问以太网的相关接口。本篇文章将从APP调用以太网的使能和关闭的接口流程作为切入点来分析,以太网框架中,上层app是如何将指令传递到底层。图1-1所示为以太网使能和关闭

franc521的博客 6112

C++ const

一、const的位置 const int a 等价于 int const a const int a = 0; int const a = 0; 二、指针相关(三种定义) A.左定值(const在*号左边) 内存地址&a的内容不能修改(不能通过指针p来修改a的值),但是指针p可以修改,例如可以自增,可以重新指向其他地方 int a = 0; const int *p = &a; //通过指针修改a的内容,错误 *p = 1; //但是直接通过变量名修改a的值.

SWEENEY_HE的博客 612

「Debug R」在从名字空间‘XVector’中出口方法时发现了不是S4通用的函数‘parallelSlotNames’...

每当R语言版本更新,Bioconductor的版本随之更替的时候,总会有一些神奇的报错会出现,比如说下面这种。 Error: package or namespace load failed for ‘GenomicRanges’: 在从名字空间‘XVector’中出口方法时发现了不是S4通用的函数‘parallelSlotNames’ 如果读中文读不懂,我们可以把它翻译成英文。 packa...

xuzhougeng blog 1999

Evolution of Heuristics: Towards Efficient Automatic Algorithm Design Using Large Language Model

启发式算法广泛用于处理复杂的搜索和优化问题。然而,启发式算法的手动设计通常非常耗费人力,需要丰富的工作经验和知识。本文提出了启发式算法的进化 (EoH),这是一种新颖的进化范式,它利用大型语言模型 (LLM) 和进化计算 (EC) 方法进行自动启发式设计 (AHD)。EoH 代表自然语言中的启发式概念,称为思想。然后由 LLM 将它们转换为可执行代码。进化搜索框架中思想和代码的演变使其在生成高性能启发式算法方面非常有效和高效。

weixin_43961909的博客 2160

linux分配只读账号_错误:在C中分配了只读位置

linux分配只读账号Error: assignment of read-only location occurs when we try to update/modify the value of a constant, because the value of a constant cannot be changed during the program execution, so we sh...

950

AI图像识别在临电配电箱安全检测中的应用与实践

计算机视觉与AI图像识别技术正逐步改变传统工业检测方式。通过深度学习模型如YOLOv5和ResNet,系统能自动识别设备元件并分析其状态,大幅提升检测效率和准确性。这种技术特别适用于需要严格遵循行业标准的场景,如临电配电箱的安全检测。将《施工现场临时用电安全技术规范》等条文转化为可量化的算法,AI系统能自动检查PE线连接、漏保功能等关键项目。实际应用表明,此类解决方案可使电气事故率下降90%以上,同时检测耗时缩短80%,为工地安全提供了智能化保障。

weixin_29042035的博客 328

当const, int遇到*

还有一种不是那么常见的定义int *const p,根据右结合性,p是const的,也就是说在后续使用p时不能对它进行修改的。如果尝试通过p=a的方式尝试把int *a传递给p,编译器会报错“assignment of read-only variable”,提示你正在对一个只读变量进行赋值操作。p,目的让编译器帮助程序员在该函数的编写过程中不要通过p来修改p所执行的内容。左边的是对*p的修饰,说明其中的内存是const int或者int const的。函数接口定义时常常遇到的是const int。

weixin_41440739的博客 905

第15章 AI 产品原型设计 —— 让 AI 成为你的产品经理

理解产品需求- 将模糊的想法转化为具体的原型方案生成高质量原型- 输出符合设计规范的 HTML 原型提供设计建议- 基于 UX 最佳实践给出优化建议维护原型文档- 自动更新原型说明和变更记录。

快乐的修补匠的专栏 502

PCB_Project.PrjPcb 4 Not in version control

Altium Designer中PCB项目出现"NOT in version control"错误的解决方法:1. 禁用不需要的版本控制集成(DXP→Preferences→Version Control);2. 清理项目缓存(Projects面板右键→Clean Project);3. 检查文件读写权限;4. 如无效可新建项目重新添加文件。如需使用SVN版本控制,需正确配置SVN客户端路径,创建或连接SVN仓库,并将项目文件提交至版本控制系统。注意新建SVN仓库必须使用空目录,建议使用

whm128的博客 1593

关于C指针

字符指针 概念 char* pc; 功能         1. 存放字符地址: #include<stdio.h> int main(){ char ch = 'w'; char* pc = &ch; return 0; }         2. 存放字符串首字母地址 #include<stdio.h>

懒得写 795

全网最强AI辅助课题申报教程!超详细流程拆解,助你快速提高课题申报成功率(附各部分高效提示词)

实验法要详细说明自变量、因变量、实验类型、实验过程、实验步骤、测量工具名称、被试取样方式、无关变量控制方法。这个部分就是让评审专家相信我们有能力把这个项目干成,写的时候要重点突出两块内容:第一是研究基础,包括你或团队在相关领域已有的研究成果,比如发表的论文、承担过的课题、获得过的奖励、相关研究经验等,要具体、有说服力;课题申报专门给我们留了一小节用来突出课题的创新之处,不管是研究角度、研究对象、研究方法,还是应用价值都可以提炼作为我们的创新点,最后的语气成果也要明确具体,且要和课题内容紧密相关。

智能AI让学术科研更容易 665

[面试题]const与指针

(1)const int *p; int const *p2; #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; using namespace std; int main(){ int a = 3; int b = 4; const int *p; p=...

SmartSi 376

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

C语言高级专题(3)------- 指针

目录一,指针到底是什么二,指针带来的一些符号的理解三,野指针问题四,指针与数组的天生姻缘五,指针与强制类型转换六,指针、数组与sizeof运算符七,const关键字与指针八,指针与函数传参九,输入型参数与输出型参数 一,指针到底是什么 1、指针变量和普通变量的区别 (1)首先必须非常明确:指针的实质就是个变量,它跟普通变量没有任何本质区别。指针完整的名字应该叫指针变量,简称为指针。 代码: //...

big_C的博客 1284

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

C++中cosnt与指针的使用

我们经常使用const来修饰数据类型,来保证数据的安全,甚至cosnt被用在函数参数处,保证数据的安全性,当指针跟const放在一起时,它又表示什么作用呢?我们不妨写个代码看一看,首先我们给出一个简单的指针赋值的操作。 #include <iostream> using namespace std; int main() { int test = 6666; ...

SUST_DOG_MASTER博客 636

GCC 常见错误解析

转自:http://wenku.baidu.com/view/01f99435f111f18583d05a47.html1GCC 常见错误解析一、错误类型第一类∶C 语法错误错误信息∶文件source.c 中第n 行有语法错误(syntex errror)。这种类型的错误,一般都是 C 语言的语法错误,应该仔细检查源代码文件中第n 行及该行之前的程序,有时也需要对该文件

Dream Fly的专栏 7万+

2021-09-09

指针常量和常量指针 typedef char *ptr; int main() { //指针常量 const ptr p = nullptr; p =0; *p = 9; //指针常量 char *const t = nullptr; t = 0; *t = 9; //常量指针 const char *q = nullptr; q =0 ; *q =9; } 编译结果: In function ‘int main()’: 10:9: error: assignment of read-only vari

DSY123DSY的博客 346

C++语言指针初探:const int*, int const*,int *const的区别

关于const与指针混合使用的助记法从右向左读,“*”或者“**”作为分隔,可以分别读作a pointer to 和a pointer to a pointer to;比如:const char * p ; // p is a pointer to const charchar const * p; // p is a pointer to char const规则如下:* :a pointer ...

pirmingham的博客 1842

const 理解

[user:lib_hdmanage] cat example/main.cpp /// @file main.cpp /// @brief /// @author Easton Woo /// 0.01 /// @date 2013-05-23 #include int main(int argc, char * argv[]) {     char *p = NULL

EastonWoo的专栏 5002

gcc compile : assignment of read-only location '*p'

gcc compile : assignment of read-only location ’ *p ‘p指向的位置是只读的,不能被分配; 只读位置的分配assignment :分配 location:位置产生原因:源代码:const int * p; int TargetNum = 5;*P = 10; 此处 *p 被 const 修饰了,说明不能通过 *p 来修改 p 指向的变量,所

财务码农小老板 1万+

C++中const总结

对于基本声明1.       const int r=100; //标准const变量声明加初始化,因为默认内部连接所以必须被初始化,其作用域为此文件,编译器经过类型检查后直接用100在编译时替换2.       extend const int r=100; //将const改为外部连接,作用于扩大至全局,编译时会分配内存,并且可以不进行初始化,仅仅作为声明,编译器认为在程序其他地方进行了定义3

Lewis Inside 929

C++编程故障处理——error: assignment of read-only data-member ‘std::pair

尝试直接修改map中某个pair的key时给出的报错。由报错可

积沙成塔 1万+

派生类中重新定义虚函数及虚函数的注意事项

在派生类中重新定义虚函数时,不需加关键字virtual但是必须要和父类中的同名,同返回类型,同参数列表例外 父类可以返回父类指针 派生类可以返回派生类指针 class base { public: base* show() { cout<<"this is base show()!"<<endl; return this; } };c

github_33736971的博客 9770

C++实现一个简单的红黑树(RB_TREE)

红黑树遵守的规则:一头(根)一脚(叶子节点)黑(黑色),黑同(从任意节点开始至根结点的黑色节点的个数相等)红不连(红色节点不能相连)以下是红黑树的插入和旋转函数的简易实现:#include <iostream> #include <assert.h> #include <string.h>using namespace std;typedef int Type; typedef enum{RED=0

github_33736971的博客 2135

int 运算符重载

为了更深入的理解返回引用和对象,以及运算符重载,做了int的运算符重载: #include <iostream>using namespace std;class Int;ostream& operator<<(ostream &out, const Int &i);class Int { friend ostream& operator<<(ostream &out, const I

github_33736971的博客 1810
上一篇: int 运算符重载
下一篇: 用类对象初始化int,double 等类型的变量
lm_123_456
博客等级 码龄11年 35粉丝 86原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值