1.2 KiB
1.2 KiB
name, description, version
| name | description | version |
|---|---|---|
| C++最佳实践 | 现代C++编程规范和性能优化 | 1.0.0 |
C++ Best Practices Skill
Overview
Modern C++ programming best practices for high-performance Windows development.
Key Principles
RAII (Resource Acquisition Is Initialization)
class FileHandle {
HANDLE handle_;
public:
FileHandle(const wchar_t* path) {
handle_ = CreateFileW(path, ...);
}
~FileHandle() {
if (handle_ != INVALID_HANDLE_VALUE) {
CloseHandle(handle_);
}
}
// Disable copying, enable moving
FileHandle(const FileHandle&) = delete;
FileHandle(FileHandle&& other) noexcept
: handle_(other.handle_) {
other.handle_ = INVALID_HANDLE_VALUE;
}
};
Smart Pointers
- Use
std::unique_ptrfor exclusive ownership - Use
std::shared_ptrsparingly - Avoid
std::weak_ptrunless breaking cycles
Modern C++ Features
- Range-based for loops
- Auto type deduction
- Lambda expressions
- Structured bindings (C++17)
- Concepts (C++20)
Performance Tips
- Avoid unnecessary copying (use std::move)
- Reserve container capacity
- Use string_view for read-only strings
- Inline hot functions
- Profile before optimizing