首页 > 其他分享 >9.4日常记录

9.4日常记录

时间:2024-09-05 18:51:07浏览次数:11  
标签:局面 头文件 记录 char 搜索 日常 str 9.4 include

一、索英笔试

1.实现strcpy

 1.char src[] = "Hello, World!";: 这里定义了一个字符数组。这个字符串 "Hello, World!" 的内容被直接存储在这个数组中,数组的大小由字符串的长度加上一个额外的位置用于存储字符串结束符'\0'自动确定。 例如,这个数组的大小为 13(12 个字符加上一个结束符)。 可以修改这个数组中的内容,因为它是在栈上分配的可修改的内存区域。

2. char* src = "Hello, World!";: 这里定义了一个字符指针,它指向一个字符串常量。这个字符串通常存储在只读的内存区域(如常量数据段)。 不能通过这个指针修改所指向的字符串内容,因为它指向的是常量。

 1.第一个存到栈区,可以更改字符,第二个存到字符常量区,不可以改变其内容,指针指向字符常量区。

#include<iostream>
using namespace std;
char* strcpy_t(char* strDest, const char* strSrc) {
	if (strSrc == nullptr) {
		return nullptr;
	}
	while (*strSrc != '\0') {
		*strDest = *strSrc;
		strDest++;
		strSrc++;
	}
	*strDest = '\0';
	return strDest;
}
int main() {
	char src[] = "Hello, World!";
	char dest[20];
	char* result = strcpy_t(dest, src);
	if (result != nullptr) {
		std::cout << "Copied string: " << dest << std::endl;
	}
	else {
		std::cout << "Source string is null." << std::endl;
	}
	return 0;
}

2.改错题:

p是值传递,但是p的指向不会改变,str还是指向的空,并不会被分配内存 p只在GetMemory内部有效,所以在main中 str仍为空。

#include<iostream>
using namespace std;
void GetMemory(char* p) {
	p = (char*)malloc(100);
}
int main() {
    char* str = NULL;
    GetMemory(str);
    strcpy_s(str, 20, "hello world");
    printf(str);
    free(str); // 记得释放动态分配的内存
    return 0;
}

3.#include<file.h>和#include"file.h"的区别

一、搜索路径不同

#include <file.h>: 编译器通常会在预定义的系统目录中搜索这个头文件。这些目录通常包含标准库头文件和系统提供的头文件。 例如,在大多数 C++ 实现中,<iostream>等标准库头文件就是通过这种方式包含的。

#include "file.h": 编译器首先会在当前源文件所在的目录中搜索这个头文件。 如果在当前目录中没有找到,它会接着在预定义的包含路径中搜索,但这个搜索路径通常与<>包含方式的搜索路径不同。通常用于包含用户自定义的头文件或者项目特定的头文件。

二、使用场景不同

<> 通常用于包含标准库头文件和系统头文件,因为这些头文件的位置是相对固定的,并且由编译器和开发环境预先配置好。

""通常用于包含用户自己编写的头文件或者项目中特定的头文件,这些头文件通常与当前源文件在同一个项目目录结构中。

二、极大极小搜索和α-β剪枝算法

1.极大极小搜索和 α-β 剪枝算法是在博弈论中用于寻找最优策略的常用算法。

假设我们在进行一个双人博弈游戏,比如五子棋。在每个回合,一方要选择一个行动,然后另一方做出回应。我们想要找到对于当前玩家来说最优的行动。 对于当前轮到做决策的玩家(称为极大层,比如我方),我们希望选择能使局面评估值最大化的行动。而对于对手(称为极小层,比如敌方),我们假设对手会选择使局面评估值最小化的行动。 通过递归地从当前局面向下探索可能的后续局面,并计算每个局面的评估值,最终回溯得到当前局面的最优决策。

 而在极大极小搜索的过程中,可能会存在很多不必要的搜索。α-β 剪枝就是用来减少这种不必要的搜索,从而提高搜索效率。

α 表示极大层(我方)当前已知的最优下界,β 表示极小层(敌方)当前已知的最优上界。在博弈树中,也就是五子棋棋局中,我方肯定会选择对自己有益的(得分高的)落子,而敌方则会尽可能的让你的得分低

在极大层中,如果当前计算出的局面评估值大于等于 β,那么就不需要继续搜索这个分支了,因为敌方肯定不会选择让我方得到这么好的局面。

在极小层中,如果当前计算出的局面评估值小于等于 α,同样不需要继续搜索这个分支,因为我方肯定不会让敌方达到这么差的局面。

红色线代表递归顺序。所以如下图所示,当推出β为-1时,整个右侧的圈1就不需要再遍历了,因为在极小层 α大于贝塔(2>-1),我肯定会选择更有利的局面。 所以右侧剪枝。

 

 

标签:局面,头文件,记录,char,搜索,日常,str,9.4,include
From: https://blog.csdn.net/m0_62956971/article/details/141864945

相关文章

  • SQL——DQL用来查询数据库表中的记录(MySQL)
    DQL英文全称是DataQueryLanguage(数据查询语言),用来查询数据库表中的记录。关键字:select一、前言select  字段列表  from表名列表 --基本查询where  条件列表-----条件查询(where)groupby 分组字段列表 having分组后条件列表--分组查询(groupby......
  • qBittorrent编译记录
    下载地址https://sourceforge.net/projects/qbittorrent/files/qbittorrent/qbittorrent-4.4.5/wgethttps://master.dl.sourceforge.net/project/qbittorrent/qbittorrent/qbittorrent-4.4.5/qbittorrent-4.4.5.tar.gz或者rz上传qbittorrent-4.4.5.tar.gz环境debian12......
  • JAVA记录
    记录工作中用到的一些工具、方法、问题等。远程调试远程调试 启动端口8084,debug监听端口是8085java-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:8085-jar/opt/yinsuankeji/digit.jar--server.port=8084&JDK17安装#java17安装sudoaptupd......
  • llama factory LoRA微调qwen大模型 | 新手炼丹记录(1)
            之前用本地机器微调qwen大模型,结果由于显存不够或者其他配置问题,总是无法正常训练,莫名其妙报错。只能去尝试一些参数很小的模型,qwen2:0.5b、gemma:2b之类的,实在不够看。    今天尝试使用了算力平台AutoDL算力云租赁计算资源来跑微调以及量化,尝试了qwe......
  • 记录一个opencv的imread方法无法读取成功的问题,【设计到visual studio和静态库(lib)匹配
    一、为什么会遇到这个问题公司需要对多图进行拼接,经过多番查找发现了OpenStitching这个库。可以实现多图拼接。在python段尝试了之后感觉效果不错,所以使用VisualStudio进行C++开发。在读取图片的时候发现imread方法无论怎么样都无法读取到图片。二、解决办法我一开始以为是路......
  • AC记录
    因为洛谷的remoteCodeForcesJudge挂了,先把一些过了的CF题的AC-code放在此处\(\small\textcolor{blue}{CF280C}\) \(\small\textcolor{purple}{CF911G}\) \(\small\textcolor{blue}{CF865D}\) \(\small\textcolor{purple}{CF960H}\) \(\small\textcolor......
  • 2024.09 别急记录
    1.ARC070F-HonestOrUnkind发现\(a\leqb\)时\(b\)内部可以构造出一个好人集合,一定无解;否则有两种情况:\(x\)认为\(y\)是坏人,二者一好一坏,全部删去即可;\(x\)认为\(y\)是好人,那么\(y\)一定比\(x\)更好。维护一个栈表示目前越来越好的人,每次取出栈顶询问新人......
  • 快码住微信恢复聊天记录最简单方法
    微信紧密编织,不仅外界交流的窗口,更是情感与记忆的宝库。一次意外的手机故障,让着一场数据灾难——微信中的大量珍贵记录不翼而飞。那些记录着家人关爱、朋友欢笑和工作重要信息的对话,仿佛一夜之间被时光吞噬,只留下空洞的记忆轮廓,充满遗憾。下面我告诉大家这么快速恢复微信聊天记......
  • 我愿称为最好用的微信恢复聊天记录天花板
    人生的旅程中,微信聊天记录就像一个个小小的里程碑。它们记录着我们的成长、我们的喜怒哀乐。当这些记录消失,就好像我们的人生也缺失了一部分。别让这种失落感持续,我来教教大家怎么恢复聊天记录第一步打开手机上的浏览器苹果用户建议使用自带浏览器第二步在浏览器搜索栏......
  • 鸿蒙(HarmonyOS)北向开发知识点记录~
    北向开发的目标是为鸿蒙生态系统构建丰富多样的应用程序,满足用户在不同场景下的需求。通过北向开发,开发者可以充分利用鸿蒙操作系统的独特优势和强大功能,为用户带来全新的体验,同时也为自身创造更多的商业机会和价值。开发技术与特点1.分布式技术:鸿蒙操作系统的一大特色是......