跳至主要内容
小龙虾小龙虾AI
🤖

C++

Avoid common C++ mistakes — memory leaks, dangling references, undefined behavior, and ownership confusion.

下载752
星标2
版本1.0.1
开发工具
安全通过
💬Prompt

技能说明


name: C++ slug: cpp version: 1.0.1 description: Write safe C++ avoiding memory leaks, dangling pointers, undefined behavior, and ownership confusion. metadata: {"clawdbot":{"emoji":"⚡","requires":{"bins":["g++"]},"os":["linux","darwin","win32"]}}

Quick Reference

TopicFile
RAII, smart pointers, new/deletememory.md
Raw pointers, references, nullptrpointers.md
Rule of 3/5/0, inheritance, virtualclasses.md
Containers, iterators, algorithmsstl.md
Templates, SFINAE, conceptstemplates.md
Threads, mutex, atomicsconcurrency.md
C++11/14/17/20, move semanticsmodern.md
Undefined behavior trapsub.md

Critical Rules

  • Raw new without delete leaks — use std::unique_ptr or std::make_unique
  • Returning reference to local — undefined behavior, object destroyed on return
  • == for C-strings compares pointers — use std::string or strcmp()
  • Signed integer overflow is UB — not wrap-around like unsigned
  • Virtual destructor required in base class — otherwise derived destructor skipped
  • std::move doesn't move — it casts to rvalue, enabling move semantics
  • Moved-from object valid but unspecified — don't use without reassigning
  • Data race on non-atomic is UB — use std::mutex or std::atomic
  • vector<bool> is not a real container — returns proxy, use deque<bool>
  • map[key] inserts default if missing — use find() or contains() to check
  • Braced init {} prevents narrowing — int x{3.5} errors, int x(3.5) truncates
  • Iterator invalidation on push_back — vector may relocate, invalidating iterators
  • string_view doesn't own data — underlying string must outlive the view

如何使用「C++」?

  1. 打开小龙虾AI(Web 或 iOS App)
  2. 点击上方「立即使用」按钮,或在对话框中输入任务描述
  3. 小龙虾AI 会自动匹配并调用「C++」技能完成任务
  4. 结果即时呈现,支持继续对话优化

相关技能