【规则分享】C++条件逻辑NPE #1195
xiohuang9
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
背景介绍
日常编码时,开发者有时可能会没理清楚逻辑,就会制造出一些逻辑上的NPE(Null Pointer Exception,空指针异常)。比如以下代码:
可以看到,第六行的 if 条件判断语句的逻辑有误,因为当 abc 是 nullptr 时,尝试访问 abc->empty() 会导致空指针异常。
规则推荐
Cppcheck 是一个开源的静态代码分析工具,用于检测C和C++代码中的错误、警告和潜在问题。它具有多平台支持、自定义规则和灵活的使用方式,
通过使用这个规则,开发人员可以更好地理解代码中的空指针检查,并根据需要进行优化。这有助于提高代码的可读性和性能,同时减少不必要的代码复杂性。
规则适用说明
进入页面,点击方案->规则配置 -> 自定义规则包-> 添加规则 ->搜索规则名nullPointerRedundantCheck->选择需要添加的规则 ->批量添加规则
![1、2](https://private-user-images.githubusercontent.com/160583399/386518765-cc0d4728-dc16-4fde-bc1f-2f185ef8b9e8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3OTc3NzYsIm5iZiI6MTczOTc5NzQ3NiwicGF0aCI6Ii8xNjA1ODMzOTkvMzg2NTE4NzY1LWNjMGQ0NzI4LWRjMTYtNGZkZS1iYzFmLTJmMTg1ZWY4YjllOC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxN1QxMzA0MzZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1jY2EwOGVmOGZhMDJkZjU1MWI0Yjg5MDQ3YzNhNWU0NGZmODc0NzRiN2VjZjQ5OTJkMzdiNjUyYzE2YmQ1NGM3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.nW0QUx7jb6tOr4MtjZRw9jQaiqvUKHN0HOCMAXQHg4k)
![nullPointerRedundantCheck2](https://private-user-images.githubusercontent.com/160583399/386518772-a2cee581-c7b6-400a-8ca8-587e25d8f3d4.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3OTc3NzYsIm5iZiI6MTczOTc5NzQ3NiwicGF0aCI6Ii8xNjA1ODMzOTkvMzg2NTE4NzcyLWEyY2VlNTgxLWM3YjYtNDAwYS04Y2E4LTU4N2UyNWQ4ZjNkNC5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxN1QxMzA0MzZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1hNTM1ZDVlZDg5NjZjYzZhYWQwODBlYWIyOTBmZTMyZDdmMzE4MmFiNjQwZGIxZDQ1N2NhY2Y1OWZkNjQxNWJhJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.UzDKvTyc74gfWQJIQrvtmXJhwOje_A5ObL_oU09zKqw)
联系我们
欢迎访问我们的平台:腾讯云代码分析
![640](https://private-user-images.githubusercontent.com/160583399/386520642-732c62ed-95e9-451f-a402-1beebea8cab2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk3OTc3NzYsIm5iZiI6MTczOTc5NzQ3NiwicGF0aCI6Ii8xNjA1ODMzOTkvMzg2NTIwNjQyLTczMmM2MmVkLTk1ZTktNDUxZi1hNDAyLTFiZWViZWE4Y2FiMi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjE3JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxN1QxMzA0MzZaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01OTBjMGJmMzg3MzMwZDg3ODMxYzUzMWRkOGZhOTcxMTZhMmJkZDA4ODk0YThlZTgzNGI4YjhlYmJlMjc5NWM2JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.0Gps62-HEW_DN2m0XCIWjZy4hlFzRfRb0F-9njgJBYo)
使用文档:腾讯云代码分析帮助文档
持续为您的代码助力!
扫描可进开源群畅聊技术&答疑解惑
Beta Was this translation helpful? Give feedback.
All reactions