鱼C论坛

 找回密码
 立即注册
查看: 1879|回复: 3

[已解决]auto&c:用法

[复制链接]
发表于 2023-3-2 22:01:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
class Solution {
public:
    bool canConstruct(string ransomNote, string magazine) {
        if (ransomNote.size() > magazine.size()) {
            return false;
        }
        vector<int> cnt(26);
        for (auto & c : magazine) {
            cnt[c - 'a']++;
        }
        for (auto & c : ransomNote) {
            cnt[c - 'a']--;
            if (cnt[c - 'a'] < 0) {
                return false;
            }
        }
        return true;
    }
};
力扣上的赎金信算法,这里不太明白auto&c的用法
最佳答案
2023-3-2 22:09:50
auto&c的用法是指用auto关键字来自动推断变量c的数据类型,并且用引用符号&来表示c是一个引用,也就是说c和它所引用的对象共享同一块内存空间。

在你的代码中,auto& c表示c是一个字符型引用,它分别遍历了ransomNote和magazine两个字符串中的每个字符,并对其进行了计数和比较。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-2 22:09:48 | 显示全部楼层
auto& c的用法是指用auto关键字来推断c的类型,并且用引用符号&来表示c是一个引用类型,也就是说c是一个别名,它指向另一个变量的内存地址,而不是自己拥有一块独立的内存空间。这样做的好处是可以避免不必要的拷贝操作,提高效率,并且可以修改原始变量的值。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2023-3-2 22:09:50 | 显示全部楼层    本楼为最佳答案   
auto&c的用法是指用auto关键字来自动推断变量c的数据类型,并且用引用符号&来表示c是一个引用,也就是说c和它所引用的对象共享同一块内存空间。

在你的代码中,auto& c表示c是一个字符型引用,它分别遍历了ransomNote和magazine两个字符串中的每个字符,并对其进行了计数和比较。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2023-3-2 22:13:57 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 17:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表