{"id":200938,"date":"2013-11-05T13:40:03","date_gmt":"2013-11-05T09:40:03","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=200938"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=200938","title":{"rendered":"<span class=\"post_title\">Copy-Paste \u0438 \u043c\u044e\u043e\u043d\u044b<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t<img decoding=\"async\" align=\"left\" src=\"http:\/\/habr.habrastorage.org\/post_images\/1b3\/960\/47c\/1b396047c51eb8505b6ebda89af263fe.png\" alt=\"PVS-Studio, CERN\"\/><\/p>\n<p>  \u0421\u0435\u0439\u0447\u0430\u0441 \u044f \u0431\u0443\u0434\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445, \u043f\u043e\u0447\u0435\u043c\u0443 \u0444\u0438\u0437\u0438\u043a\u0438 \u0442\u043e\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043a\u043e\u0434\u0430. \u041c\u043d\u0435 \u0431\u044b \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c, \u0447\u0442\u043e\u0431\u044b \u044d\u0442\u0438\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0431\u044b\u043b PVS-Studio. \u041d\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0442\u043e\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u0435\u043d. \u0410\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043a\u043e\u0434\u0430 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442 \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u043e\u0442\u043b\u0430\u0434\u043a\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442 \u0433\u043e\u043b\u043e\u0432\u043d\u044b\u0435 \u0431\u043e\u043b\u0438 \u043e\u0442 \u0442\u0443\u043f\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a. \u041b\u0443\u0447\u0448\u0435 \u043f\u043e\u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u0443\u043c\u0430\u0442\u044c \u043e \u0444\u0438\u0437\u0438\u043a\u0435 \u0438 \u043f\u043e\u043c\u0435\u043d\u044c\u0448\u0435 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0445 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438++.<\/p>\n<p>  <a name=\"habracut\"><\/a><\/p>\n<h2>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h2>\n<p>  \u042f \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u044e \u0441\u0435\u0440\u0438\u044e \u0437\u0430\u043c\u0435\u0442\u043e\u043a, \u043f\u043e\u0441\u0432\u044f\u0449\u0435\u043d\u043d\u044b\u0445 \u0430\u043d\u0430\u043b\u0438\u0437\u0443 \u043a\u043e\u0434\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u043c\u043e\u0433\u043e \u0432 \u043d\u0430\u0443\u0447\u043d\u044b\u0445 \u0446\u0435\u043b\u044f\u0445. \u041f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0435 \u0437\u0430\u043c\u0435\u0442\u043a\u0438:<\/p>\n<ul>\n<li><a href=\"http:\/\/www.viva64.com\/ru\/b\/0212\/\">\u0411\u043e\u043b\u044c\u0448\u043e\u0439 \u041a\u0430\u043b\u044c\u043a\u0443\u043b\u044f\u0442\u043e\u0440 \u0432\u044b\u0445\u043e\u0434\u0438\u0442 \u0438\u0437 \u043f\u043e\u0434 \u043a\u043e\u043d\u0442\u0440\u043e\u043b\u044f<\/a><\/li>\n<li><a href=\"http:\/\/www.viva64.com\/ru\/b\/0213\/\">\u0418\u0434\u0435\u043c \u043f\u043e \u0433\u0440\u0438\u0431\u044b \u043f\u043e\u0441\u043b\u0435 Cppcheck<\/a><\/li>\n<\/ul>\n<p>\u0412 \u044d\u0442\u043e\u0442 \u0440\u0430\u0437 \u043d\u0430 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u043f\u0440\u043e\u0435\u043a\u0442 Geant4. \u041f\u0440\u0438\u0432\u0435\u0434\u0443 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, <a href=\"http:\/\/www.viva64.com\/go.php?url=1317\">\u0432\u0437\u044f\u0442\u043e\u0435 \u0438\u0437 Wikipedia<\/a>:<\/p>\n<p>  <b><i>Geant4<\/i><\/b><i> (\u0430\u043d\u0433\u043b. GEometry ANd Tracking \u2014 \u0433\u0435\u043e\u043c\u0435\u0442\u0440\u0438\u044f \u0438 \u0442\u0440\u0435\u043a\u0438\u043d\u0433) \u2014 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0434\u043b\u044f \u043c\u043e\u0434\u0435\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0440\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0438\u0446 \u0447\u0435\u0440\u0435\u0437 \u0432\u0435\u0449\u0435\u0441\u0442\u0432\u043e \u0441 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435\u043c \u043c\u0435\u0442\u043e\u0434\u043e\u0432 \u041c\u043e\u043d\u0442\u0435-\u041a\u0430\u0440\u043b\u043e. \u0420\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u0430 \u0432 CERN \u043d\u0430 \u043e\u0431\u044a\u0435\u043a\u0442\u043d\u043e-\u043e\u0440\u0438\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e\u043c \u044f\u0437\u044b\u043a\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0421++. \u042f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0434\u0430\u043b\u044c\u043d\u0435\u0439\u0448\u0438\u043c \u0440\u0430\u0437\u0432\u0438\u0442\u0438\u0435\u043c \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0438\u0445 \u0432\u0435\u0440\u0441\u0438\u0439 GEANT, \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u043f\u0435\u0440\u0435\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u043c \u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u043c.<\/i> <\/p>\n<p>  <i>\u041a\u0430\u043a \u0437\u0430\u044f\u0432\u043b\u0435\u043d\u043e \u043d\u0430 \u043e\u0444\u0438\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u043c \u0441\u0430\u0439\u0442\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u0430, \u00ab\u043e\u0431\u043b\u0430\u0441\u0442\u0438 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0432\u043a\u043b\u044e\u0447\u0430\u044e\u0442 \u0432 \u0441\u0435\u0431\u044f \u0444\u0438\u0437\u0438\u043a\u0443 \u0432\u044b\u0441\u043e\u043a\u0438\u0445 \u044d\u043d\u0435\u0440\u0433\u0438\u0439 \u0438 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u0435 \u044f\u0434\u0435\u0440\u043d\u044b\u0445 \u0440\u0435\u0430\u043a\u0446\u0438\u0439, \u043c\u0435\u0434\u0438\u0446\u0438\u043d\u0443, \u0443\u0441\u043a\u043e\u0440\u0438\u0442\u0435\u043b\u0438 \u0447\u0430\u0441\u0442\u0438\u0446, \u0438 \u043a\u043e\u0441\u043c\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0444\u0438\u0437\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u00bb. \u041f\u041e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u0432\u043e \u043c\u043d\u043e\u0433\u0438\u0445 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 \u043f\u043e \u0432\u0441\u0435\u043c\u0443 \u043c\u0438\u0440\u0443, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u0438 \u0432 \u0420\u043e\u0441\u0441\u0438\u0438.<\/i><\/p>\n<p>  \u0421\u0430\u0439\u0442 \u043f\u0440\u043e\u0435\u043a\u0442\u0430: <a href=\"http:\/\/geant4.org\">http:\/\/geant4.org<\/a>. \u041f\u0440\u043e\u0435\u043a\u0442 \u0438\u043c\u0435\u0435\u0442 \u0441\u0440\u0435\u0434\u043d\u0438\u0439 \u0440\u0430\u0437\u043c\u0435\u0440: 76 \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430. \u0414\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\u043f\u0440\u043e\u0435\u043a\u0442 VirtualDub \u2014 13 \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442;<\/li>\n<li>\u043f\u0440\u043e\u0435\u043a\u0442 Apache HTTP Server \u2014 26 \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442;<\/li>\n<li>\u043f\u0440\u043e\u0435\u043a\u0442 Chromium (\u0432\u043c\u0435\u0441\u0442\u0435 \u0441 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430\u043c\u0438) \u2014 710 \u043c\u0435\u0433\u0430\u0431\u0430\u0439\u0442.<\/li>\n<\/ul>\n<p>\u0414\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0431\u044b\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043a\u043e\u0434\u0430 <a href=\"http:\/\/www.viva64.com\/ru\/pvs-studio\/\">PVS-Studio<\/a>. \u0422\u0430\u043a \u043a\u0430\u043a \u043f\u0440\u043e\u0435\u043a\u0442 Geant4 \u043d\u0435 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0439, \u0448\u0430\u043d\u0441 \u043d\u0430\u0439\u0442\u0438 \u0432 \u043d\u0451\u043c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435 \u0431\u044b\u043b \u043e\u0447\u0435\u043d\u044c \u0432\u0435\u043b\u0438\u043a. \u041d\u0435 \u043d\u0430\u0439\u0442\u0438 \u043e\u0448\u0438\u0431\u043e\u043a \u043c\u043e\u0436\u043d\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0432 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445 (\u0441\u043c. <a href=\"http:\/\/www.viva64.com\/ru\/b\/0158\/\">\u043e \u043d\u0435\u043b\u0438\u043d\u0435\u0439\u043d\u043e\u0439 \u043f\u043b\u043e\u0442\u043d\u043e\u0441\u0442\u0438 \u043e\u0448\u0438\u0431\u043e\u043a<\/a>). \u0411\u044b\u0432\u0430\u044e\u0442, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u0438 \u043a\u0440\u0443\u043f\u043d\u044b\u0435 \u043f\u0440\u043e\u0435\u043a\u0442\u044b, \u0433\u0434\u0435 PVS-Studio \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442. \u0416\u0430\u043b\u044c, \u043d\u043e \u044d\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u0441\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435.<\/p>\n<p>  \u0421\u0440\u0430\u0437\u0443 \u0445\u043e\u0447\u0443 \u043f\u043e\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u043f\u0440\u043e\u0449\u0435\u043d\u0438\u044f, \u0435\u0441\u043b\u0438 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043a\u0430\u043a\u0443\u044e-\u0442\u043e \u0433\u043b\u0443\u043f\u043e\u0441\u0442\u044c, \u043a\u0430\u0441\u0430\u044e\u0449\u0443\u044e\u0441\u044f \u0444\u0438\u0437\u0438\u043a\u0438. \u041d\u043e \u043e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435, \u0447\u0442\u043e \u044f \u0441\u043c\u043e\u0433 \u043d\u0430\u0439\u0442\u0438 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u043c \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0438, \u043d\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u044f \u0441\u0443\u0442\u044c \u043f\u0430\u0440\u0442\u043e\u043d\u043e\u0432, \u0434\u0430 \u0438 \u0432\u043e\u043e\u0431\u0449\u0435 \u043f\u043e\u0447\u0442\u0438 \u0432\u0441\u0435\u0433\u043e \u043a\u0430\u0441\u0430\u044e\u0449\u0435\u0433\u043e\u0441\u044f \u044f\u0434\u0435\u0440\u043d\u044b\u0445 \u0440\u0435\u0430\u043a\u0446\u0438\u0439!<\/p>\n<p>  <b><i>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435. \u0412 \u0441\u0442\u0430\u0442\u044c\u0435 \u043f\u0435\u0440\u0435\u0447\u0438\u0441\u043b\u0435\u043d\u043e \u0434\u0430\u043b\u0435\u043a\u043e \u043d\u0435 \u0432\u0441\u0451, \u0447\u0442\u043e \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c. \u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u043b\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439, \u043d\u0430 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u043e\u0431\u0440\u0430\u0442\u0438\u043b \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435: <a href=\"http:\/\/www.viva64.com\/external-pictures\/txt\/geant4.txt\"><i>geant4.txt<\/i><\/a>.<\/i><\/b> <\/p>\n<p>  \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0436\u0435 \u043f\u043e\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u0447\u0442\u043e \u0443\u0434\u0430\u043b\u043e\u0441\u044c \u043d\u0430\u0439\u0442\u0438 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0433\u043e \u0432 \u043a\u043e\u0434\u0435 Geant4. <\/p>\n<h2>Copy-Paste \u0438 \u043c\u044e\u043e\u043d\u044b<\/h2>\n<p>  \u041f\u0440\u043e <a href=\"http:\/\/www.viva64.com\/go.php?url=1309\">\u043c\u044e\u043e\u043d\u044b<\/a> \u044f \u0437\u043d\u0430\u044e \u0442\u043e\u043b\u044c\u043a\u043e \u0442\u043e, \u0447\u0442\u043e \u044d\u0442\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0440\u043d\u0430\u044f \u0447\u0430\u0441\u0442\u0438\u0446\u0430. \u0417\u0430\u0442\u043e \u044f \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u043d\u0438\u043c\u0430\u044e, \u0447\u0442\u043e \u0442\u0430\u043a\u043e\u0435 Copy-Paste. \u0412\u043e\u0442 \u043a\u0440\u0430\u0441\u0438\u0432\u044b\u0439 \u043f\u0440\u0438\u043c\u0435\u0440 \u043e\u0448\u0438\u0431\u043a\u0438, \u043a\u043e\u0433\u0434\u0430 \u0441\u0442\u0440\u043e\u043a\u0430 \u043a\u043e\u0434\u0430 \u0431\u044b\u043b\u0430 \u0440\u0430\u0437\u043c\u043d\u043e\u0436\u0435\u043d\u0430. \u0421\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u043f\u043e\u0434\u0432\u0435\u0440\u0433\u043b\u0438\u0441\u044c \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c, \u043d\u043e \u043d\u0435 \u0432\u0435\u0437\u0434\u0435. \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442:  <\/p>\n<pre><code class=\"cpp\">void G4QMessenger::SetNewValue(G4UIcommand* aComm, G4String aS) {   if(photoDir)   {     if     (aComm==theSynchR) thePhoto-&gt;SetSynchRadOnOff(aS);     else if(aComm==minGamSR)  thePhoto-&gt;SetMinGammaSR(....     else if(aComm==theGamN)   thePhoto-&gt;SetGammaNuclearOnOff(....     else if(aComm==theMuoN)   thePhoto-&gt;SetElPosNuclearOnOff(....     else if(aComm==theMuoN)   thePhoto-&gt;SetMuonNuclearOnOff(aS);     else if(aComm==theMuoN)   thePhoto-&gt;SetTauNuclearOnOff(aS);     else if(aComm==biasPhotoN)thePhoto-&gt;SetPhotoNucBias(....   }   .... }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V517 The use of &#8216;if (A) {&#8230;} else if (A) {&#8230;}&#8217; pattern was detected. There is a probability of logical error presence. Check lines: 195, 196. G4phys_builders g4qmessenger.cc 195<\/p>\n<p>  \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0442\u0440\u0438 \u0440\u0430\u0437\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u044f\u044e\u0449\u0443\u044e\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0443 (aComm==theMuoN).<\/p>\n<h2>\u0420\u0430\u0441\u043f\u0430\u0434 \u0431\u0430\u0440\u0438\u043e\u043d\u043e\u0432<\/h2>\n<p>  \u0422\u044f\u0436\u0435\u043b\u043e \u0438\u0437\u0443\u0447\u0430\u0442\u044c \u0440\u0430\u0434\u0438\u043e\u0430\u043a\u0442\u0438\u0432\u043d\u044b\u0439 \u0440\u0430\u0441\u043f\u0430\u0434 \u0438\u043b\u0438 \u043f\u044b\u0442\u0430\u0442\u044c\u0441\u044f \u0432\u044b\u044f\u0432\u0438\u0442\u044c <a href=\"http:\/\/www.viva64.com\/go.php?url=1316\">\u0440\u0430\u0441\u043f\u0430\u0434 \u043f\u0440\u043e\u0442\u043e\u043d\u0430<\/a>. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442 \u043e\u0448\u0438\u0431\u043a\u0438.  <\/p>\n<pre><code class=\"cpp\">void G4QEnvironment::DecayBaryon(G4QHadron* qH) {   ....   else if(qM&lt;mSzPi) \/\/ Only Lambda+PiM is possible   {     fQPDG=lQPDG;    \/\/ Baryon is Lambda     fMass=mLamb;     sQPDG=pimQPDG;  \/\/ Meson is Pi-     sMass=mPi;   }   else if(qM&lt;mSzPi) \/\/ Both Lambda+PiM &amp; Sigma0+PiM are possible   {     if(G4UniformRand()&lt;.6)     {   .... }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V517 The use of &#8216;if (A) {&#8230;} else if (A) {&#8230;}&#8217; pattern was detected. There is a probability of logical error presence. Check lines: 8373, 8380. G4hadronic_body_ci g4qenvironment.cc 8373<\/p>\n<p>  \u0414\u0432\u0430 \u0440\u0430\u0437\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043e\u0434\u043d\u043e \u0438 \u0442\u043e \u0436\u0435 \u0443\u0441\u043b\u043e\u0432\u0438\u0435 (qM&lt;mSzPi). \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043c\u044b \u043d\u0438\u043a\u043e\u0433\u0434\u0430 \u043d\u0435 \u043f\u043e\u043f\u0430\u0434\u0435\u043c \u0432 \u0432\u0435\u0442\u043a\u0443, \u043a \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043e\u0442\u043d\u043e\u0441\u0438\u0442\u0441\u044f \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0439 &quot;\/\/ Both Lambda+PiM &amp; Sigma0+PiM are possible&quot;.<\/p>\n<h2>\u041f\u043e\u0441\u0447\u0438\u0442\u0430\u0435\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u0430\u0440\u0442\u043e\u043d\u043e\u0432<\/h2>\n<p>  <a href=\"http:\/\/www.viva64.com\/go.php?url=1310\">\u041f\u0430\u0440\u0442\u043e\u043d<\/a> \u2014 \u0442\u043e\u0447\u0435\u0447\u043d\u043e\u043f\u043e\u0434\u043e\u0431\u043d\u0430\u044f \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0430\u044f \u0430\u0434\u0440\u043e\u043d\u043e\u0432, \u043f\u0440\u043e\u044f\u0432\u043b\u044f\u044e\u0449\u0430\u044f\u0441\u044f \u0432 \u044d\u043a\u0441\u043f\u0435\u0440\u0438\u043c\u0435\u043d\u0442\u0430\u0445 \u043f\u043e \u0433\u043b\u0443\u0431\u043e\u043a\u043e \u043d\u0435\u0443\u043f\u0440\u0443\u0433\u043e\u043c\u0443 \u0440\u0430\u0441\u0441\u0435\u044f\u043d\u0438\u044e \u0430\u0434\u0440\u043e\u043d\u043e\u0432 \u043d\u0430 \u043b\u0435\u043f\u0442\u043e\u043d\u0430\u0445 \u0438 \u0434\u0440\u0443\u0433\u0438\u0445 \u0430\u0434\u0440\u043e\u043d\u0430\u0445.<\/p>\n<p>  \u0416\u0430\u043b\u044c, \u043d\u043e \u0441 \u043f\u043e\u0434\u0441\u0447\u0435\u0442\u043e\u043c \u0438\u0445 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0435\u0441\u0442\u044c \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u0430:  <\/p>\n<pre><code class=\"cpp\">G4bool G4CollisionMesonBaryonElastic::  IsInCharge(const G4KineticTrack&amp; trk1,             const G4KineticTrack&amp; trk2) const  {    G4bool result = false;    G4ParticleDefinition * p1 = trk1.GetDefinition();    G4ParticleDefinition * p2 = trk2.GetDefinition();    if(   (GetNumberOfPartons(p1) != 2 ||           GetNumberOfPartons(p2) != 3)        ||(GetNumberOfPartons(p1) != 3 ||           GetNumberOfPartons(p2) != 2) )     {      result = false;    }   .... }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V547 Expression is always true. Probably the &#8216;&amp;&amp;&#8217; operator should be used here. G4had_im_r_matrix g4collisionmesonbaryonelastic.cc 53<\/p>\n<p>  \u0421\u0440\u0430\u0437\u0443 \u0441\u0443\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0438 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043d\u0435\u0437\u0430\u043c\u0435\u0442\u043d\u0430. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0443\u043f\u0440\u043e\u0449\u0443 \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435:  <\/p>\n<pre><code class=\"cpp\">A = GetNumberOfPartons(p1); B = GetNumberOfPartons(p2); if ( (A != 2 || B != 3) || (A != 3 || B != 2) ) <\/code><\/pre>\n<p>  \u0421\u043a\u043e\u0431\u043a\u0438 \u0434\u043b\u044f \u043f\u0440\u043e\u0441\u0442\u043e\u0442\u044b \u0442\u043e\u0436\u0435 \u043c\u043e\u0436\u043d\u043e \u043e\u0442\u0431\u0440\u043e\u0441\u0438\u0442\u044c. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c:  <\/p>\n<pre><code class=\"cpp\">if ( A != 2 || B != 3 || A != 3 || B != 2 )<\/code><\/pre>\n<p>  \u042d\u0442\u043e \u0443\u0441\u043b\u043e\u0432\u0438\u0435 \u0432\u0441\u0435\u0433\u0434\u0430 \u0438\u0441\u0442\u0438\u043d\u043d\u043e. \u041f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f &#8216;A&#8217; \u0432\u0441\u0435\u0433\u0434\u0430 \u043d\u0435 \u0440\u0430\u0432\u043d\u0430 2 \u0438\u043b\u0438 \u043d\u0435 \u0440\u0430\u0432\u043d\u0430 3. \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u0438 \u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 &#8216;B&#8217;. \u0412\u0438\u0434\u0438\u043c\u043e, \u0433\u0434\u0435-\u0442\u043e \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043f\u0443\u0442\u0430\u043d\u0438\u0446\u0430. \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u0437\u0434\u0435\u0441\u044c \u0434\u043e\u043b\u0436\u0435\u043d \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 &#8216;&amp;&amp;&#8217;.<\/p>\n<h2>\u041a\u0443\u043b\u043e\u043d\u043e\u0432\u0441\u043a\u0430\u044f \u0431\u043b\u043e\u043a\u0430\u0434\u0430 \u0438 \u0432\u044b\u0445\u043e\u0434 \u0437\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u0430<\/h2>\n<p>  <a href=\"http:\/\/www.viva64.com\/go.php?url=1311\">\u041a\u0443\u043b\u043e\u043d\u043e\u0432\u0441\u043a\u0430\u044f \u0431\u043b\u043e\u043a\u0430\u0434\u0430<\/a> \u2014 \u0431\u043b\u043e\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043e\u0432 \u0447\u0435\u0440\u0435\u0437 \u043a\u0432\u0430\u043d\u0442\u043e\u0432\u0443\u044e \u0442\u043e\u0447\u043a\u0443, \u0432\u043a\u043b\u044e\u0447\u0451\u043d\u043d\u0443\u044e \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0442\u0443\u043d\u043d\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0430\u043c\u0438, \u043e\u0431\u0443\u0441\u043b\u043e\u0432\u043b\u0435\u043d\u043d\u043e\u0435 \u043e\u0442\u0442\u0430\u043b\u043a\u0438\u0432\u0430\u043d\u0438\u0435\u043c \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043e\u0432 \u0432 \u043a\u043e\u043d\u0442\u0430\u043a\u0442\u0430\u0445 \u043e\u0442 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0430 \u043d\u0430 \u0442\u043e\u0447\u043a\u0435, \u0430 \u0442\u0430\u043a\u0436\u0435 \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u043a\u0443\u043b\u043e\u043d\u043e\u0432\u0441\u043a\u0438\u043c \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u043c \u0431\u0430\u0440\u044c\u0435\u0440\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043e\u0437\u0434\u0430\u0451\u0442 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d, \u0443\u0441\u0435\u0432\u0448\u0438\u0439\u0441\u044f \u043d\u0430 \u0442\u043e\u0447\u043a\u0435.<\/p>\n<p>  \u0421 \u0444\u0443\u043d\u043a\u0446\u0438\u0435\u0439 SetCoulombEffects() \u0447\u0442\u043e-\u0442\u043e \u043d\u0435 \u0442\u0430\u043a. \u0412 \u043c\u0430\u0441\u0441\u0438\u0432 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 &#8216;sig&#8217; \u043f\u043e\u043c\u0435\u0449\u0430\u044e\u0442\u0441\u044f \u0430\u0434\u0440\u0435\u0441\u0430 \u043d\u0435\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0445 \u043f\u043e\u0434\u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432. \u0420\u0430\u0431\u043e\u0442\u0430 \u0441 &#8216;sig&#8217; \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u043c\u0443 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b. \u0425\u043e\u0440\u043e\u0448\u043e, \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u0437\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0441\u044f \u0432 \u0430\u0432\u0430\u0440\u0438\u0439\u043d\u043e\u043c \u0440\u0435\u0436\u0438\u043c\u0435. \u0413\u043e\u0440\u0430\u0437\u0434\u043e \u0445\u0443\u0436\u0435, \u0435\u0441\u043b\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430 \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0438\u0442 \u0440\u0430\u0431\u043e\u0442\u0443 \u0438 \u0431\u0443\u0434\u0435\u0442 \u0445\u0430\u043e\u0442\u0438\u0447\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c \u0438 \u043f\u0438\u0441\u0430\u0442\u044c \u0432 \u043f\u0430\u043c\u044f\u0442\u044c, \u0437\u0430\u043d\u044f\u0442\u0443\u044e \u0434\u0440\u0443\u0433\u0438\u043c\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u0430\u043c\u0438 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c\u0438.  <\/p>\n<pre><code class=\"cpp\">enum { NENERGY=22, NANGLE=180 }; class G4LEpp : public G4HadronicInteraction {   ....   G4float * sig[NANGLE];   static G4float SigCoul[NENERGY][NANGLE];   .... };  G4LEpp::SetCoulombEffects(G4int State) {   if (State) {     for(G4int i=0; i&lt;NANGLE; i++)     {       sig[i] = SigCoul[i];     }     elab = ElabCoul;   }   .... }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V557 Array overrun is possible. The value of &#8216;i&#8217; index could reach 179. g4lepp.cc 62<\/p>\n<p>  \u041c\u0430\u0441\u0441\u0438\u0432 &#8216;sig&#8217; \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 180 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439. \u042d\u0442\u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0438 \u0434\u043e\u043b\u0436\u043d\u044b \u0441\u0441\u044b\u043b\u0430\u0442\u044c\u0441\u044f \u043d\u0430 \u0440\u0430\u0437\u043d\u044b\u0435 \u0441\u0442\u0440\u043e\u043a\u0438 \u0434\u0432\u0443\u043c\u0435\u0440\u043d\u043e\u0433\u043e \u043c\u0430\u0441\u0441\u0438\u0432\u0430 &#8216;SigCoul&#8217;. \u041d\u043e \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 &#8216;SigCoul&#8217; \u0442\u043e\u043b\u044c\u043a\u043e 22 \u0441\u0442\u0440\u043e\u043a\u0438. \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 &#8216;sig&#8217; \u0431\u0443\u0434\u0443\u0442 \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e \u043a\u0443\u0434\u0430.<\/p>\n<p>  \u0417\u0430\u0442\u0440\u0443\u0434\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u0432 \u0447\u0435\u043c \u0438\u043c\u0435\u043d\u043d\u043e \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u043e\u0448\u0438\u0431\u043a\u0430. \u0412\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043e\u0431\u044a\u044f\u0432\u043b\u0435\u043d \u043c\u0430\u0441\u0441\u0438\u0432 &#8216;SigCoul&#8217;. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043d\u0430\u0434\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u043c\u0435\u0441\u0442\u0430\u043c\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u0442\u0440\u043e\u043a \u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432:<\/p>\n<p>  SigCoul[NENERGY][NANGLE] &#8212;&gt;&gt; SigCoul[NANGLE][NENERGY]<\/p>\n<h2>\u041e\u043f\u0435\u0447\u0430\u0442\u043a\u0430 \u0438 Twist Surfaces<\/h2>\n<p>  <\/p>\n<pre><code class=\"cpp\">void G4VTwistSurface::GetBoundaryLimit(G4int areacode, G4double limit[]) const {   ....   if (areacode &amp; sC0Min1Max) {     limit[0] = fAxisMin[0];     limit[1] = fAxisMin[1];   } else if (areacode &amp; sC0Max1Min) {     limit[0] = fAxisMax[0];     limit[1] = fAxisMin[1];   } else if (areacode &amp; sC0Max1Max) {     limit[0] = fAxisMax[0];     limit[1] = fAxisMax[1];   } else if (areacode &amp; sC0Min1Max) {     limit[0] = fAxisMin[0];     limit[1] = fAxisMax[1];   }   .... }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V517 The use of &#8216;if (A) {&#8230;} else if (A) {&#8230;}&#8217; pattern was detected. There is a probability of logical error presence. Check lines: 793, 802. G4specsolids g4vtwistsurface.cc 793<\/p>\n<p>  \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 4 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435:<\/p>\n<ul>\n<li>sC0Min1Max<\/li>\n<li>sC0Max1Min<\/li>\n<li>sC0Min1Min<\/li>\n<li>sC0Max1Max<\/li>\n<\/ul>\n<p>\u041f\u0440\u0438 \u0440\u0430\u0431\u043e\u0442\u0435 \u0441 \u0433\u0440\u0430\u043d\u0438\u0446\u0430\u043c\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e 3 \u0438\u0437 \u043d\u0438\u0445. \u041f\u0440\u0438 \u044d\u0442\u043e\u043c \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 (areacode &amp; sC0Min1Max) \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f 2 \u0440\u0430\u0437\u0430. \u0415\u0441\u043b\u0438 \u043f\u0440\u0438\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c\u0441\u044f, \u0442\u043e \u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0432\u043e\u0439 \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0438 \u0432\u044b\u0431\u0438\u0440\u0430\u044e\u0442\u0441\u044f \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u044b: fAxisMin[0], fAxisMin[1]. \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043f\u0435\u0440\u0432\u0430\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u0434\u043e\u043b\u0436\u043d\u0430 \u0431\u044b\u043b\u0430 \u0431\u044b\u0442\u044c \u0442\u0430\u043a\u043e\u0439:   <\/p>\n<pre><code class=\"cpp\">if (areacode &amp; sC0Min1Min) {   limit[0] = fAxisMin[0];   limit[1] = fAxisMin[1]; }<\/code><\/pre>\n<p>  <\/p>\n<h2>\u0420\u0435\u043d\u0442\u0433\u0435\u043d\u043e\u0432\u0441\u043a\u043e\u0435 \u0438\u0437\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0438 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0439 IF<\/h2>\n<p>  <a href=\"http:\/\/www.viva64.com\/go.php?url=1312\">\u0420\u0435\u043d\u0442\u0433\u0435\u043d\u043e\u0432\u0441\u043a\u043e\u0435 \u0438\u0437\u043b\u0443\u0447\u0435\u043d\u0438\u0435<\/a> \u2014 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043c\u0430\u0433\u043d\u0438\u0442\u043d\u044b\u0435 \u0432\u043e\u043b\u043d\u044b, \u044d\u043d\u0435\u0440\u0433\u0438\u044f \u0444\u043e\u0442\u043e\u043d\u043e\u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043b\u0435\u0436\u0438\u0442 \u043d\u0430 \u0448\u043a\u0430\u043b\u0435 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043c\u0430\u0433\u043d\u0438\u0442\u043d\u044b\u0445 \u0432\u043e\u043b\u043d \u043c\u0435\u0436\u0434\u0443 \u0443\u043b\u044c\u0442\u0440\u0430\u0444\u0438\u043e\u043b\u0435\u0442\u043e\u0432\u044b\u043c \u0438\u0437\u043b\u0443\u0447\u0435\u043d\u0438\u0435\u043c \u0438 \u0433\u0430\u043c\u043c\u0430-\u0438\u0437\u043b\u0443\u0447\u0435\u043d\u0438\u0435\u043c.<\/p>\n<p>  \u041a\u0430\u043a \u044f \u043f\u043e\u043d\u0438\u043c\u0430\u044e, \u043a\u043b\u0430\u0441\u0441 G4ForwardXrayTR \u0438\u043c\u0435\u0435\u0442 \u043e\u0442\u043d\u043e\u0448\u0435\u043d\u0438\u0435 \u043a X-Ray. \u041e\u0448\u0438\u0431\u043a\u0430 \u0437\u0430\u043a\u0440\u0430\u043b\u0430\u0441\u044c \u0432 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0438\u043d\u0434\u0435\u043a\u0441\u043e\u0432.  <\/p>\n<pre><code class=\"cpp\">G4VParticleChange* G4ForwardXrayTR::PostStepDoIt(....) {   ....   if (iMat == jMat       || (    (fMatIndex1 &gt;= 0 &amp;&amp; fMatIndex1 &gt;= 0)            &amp;&amp; ( iMat != fMatIndex1 &amp;&amp; iMat != fMatIndex2 )            &amp;&amp; ( jMat != fMatIndex1 &amp;&amp; jMat != fMatIndex2 ) )   .... }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V501 There are identical sub-expressions to the left and to the right of the &#8216;&amp;&amp;&#8217; operator: fMatIndex1 &gt;= 0 &amp;&amp; fMatIndex1 &gt;= 0 G4xrays g4forwardxraytr.cc 620<\/p>\n<p>  \u0414\u0432\u0430 \u0440\u0430\u0437\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0435\u0442\u0441\u044f \u0438\u043d\u0434\u0435\u043a\u0441 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c &#8216;fMatIndex1&#8217;. \u0410 \u043f\u0440\u043e &#8216;fMatIndex2&#8217; \u0437\u0430\u0431\u044b\u043b\u0438. \u041d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u0434\u043e\u043b\u0436\u043d\u043e \u0431\u044b\u0442\u044c \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043e \u0442\u0430\u043a:  <\/p>\n<pre><code class=\"cpp\">(fMatIndex1 &gt;= 0 &amp;&amp; fMatIndex2 &gt;= 0)<\/code><\/pre>\n<p>  <\/p>\n<h2>\u041e\u043f\u0435\u0447\u0430\u0442\u043a\u0430 \u0438 \u043d\u0435\u0439\u0442\u0440\u043e\u043d\u044b<\/h2>\n<p>  <\/p>\n<pre><code class=\"cpp\">G4double G4MesonAbsorption:: GetTimeToAbsorption(   const G4KineticTrack&amp; trk1, const G4KineticTrack&amp; trk2) {   ....   if(( trk1.GetDefinition() == G4Neutron::Neutron() ||        trk1.GetDefinition() == G4Neutron::Neutron() ) &amp;&amp;        sqrtS&gt;1.91*GeV &amp;&amp; pi*distance&gt;maxChargedCrossSection)     return time;   .... }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V501 There are identical sub-expressions &#8216;trk1.GetDefinition() == G4Neutron::Neutron()&#8217; to the left and to the right of the &#8216;||&#8217; operator. G4had_im_r_matrix g4mesonabsorption.cc 285<\/p>\n<p>  \u0414\u0430, \u044f \u043d\u0435 \u0437\u043d\u0430\u044e, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u0435\u0442 \u044d\u0442\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u044f. \u041d\u043e, \u043a\u0430\u043a \u043c\u043d\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u043d\u0430 \u0432\u0445\u043e\u0434 \u043e\u043d\u0430 \u043f\u043e\u043b\u0443\u0447\u0430\u0435\u0442 \u0434\u0432\u0435 \u0442\u0440\u0430\u0435\u043a\u0442\u043e\u0440\u0438\u0438 \u0434\u0432\u0438\u0436\u0435\u043d\u0438\u044f \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u0440\u043d\u044b\u0445 \u0447\u0430\u0441\u0442\u0438\u0446. \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0434\u043e\u043b\u0436\u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u043e\u0441\u043e\u0431\u044b\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u044e, \u0435\u0441\u043b\u0438 \u0445\u043e\u0442\u044f \u0431\u044b \u043e\u0434\u043d\u0430 \u0447\u0430\u0441\u0442\u0438\u0446\u0430 \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0435\u0439\u0442\u0440\u043e\u043d\u0430\u043c\u0438. \u041d\u043e, \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u043f\u0440\u043e\u0432\u0435\u0440\u044f\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0435\u0440\u0432\u0430\u044f \u0447\u0430\u0441\u0442\u0438\u0446\u0430.<\/p>\n<p>  \u0412\u0438\u0434\u0438\u043c\u043e, \u043d\u0430 \u0441\u0430\u043c\u043e\u043c \u0434\u0435\u043b\u0435, \u043f\u043b\u0430\u043d\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c:  <\/p>\n<pre><code class=\"cpp\">trk1.GetDefinition() == G4Neutron::Neutron() || trk2.GetDefinition() == G4Neutron::Neutron() <\/code><\/pre>\n<p>  \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u0443\u044e \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0443 \u043c\u043e\u0436\u043d\u043e \u043e\u0431\u043d\u0430\u0440\u0443\u0436\u0438\u0442\u044c \u0437\u0434\u0435\u0441\u044c: g4scatterer.cc 138<\/p>\n<h2>\u0414\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0430\u0440\u0442\u043e\u043d\u0430<\/h2>\n<p>  \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u044f InsertParton(), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0432 \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440 \u043f\u0430\u0440\u0442\u043e\u043d. \u041c\u043e\u0436\u043d\u043e \u0443\u043a\u0430\u0437\u0430\u0442\u044c, \u043f\u043e\u0441\u043b\u0435 \u043a\u0430\u043a\u043e\u0433\u043e \u043f\u0430\u0440\u0442\u043e\u043d\u0430 \u043d\u0443\u0436\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043d\u043e\u0432\u044b\u0439 \u044d\u043b\u0435\u043c\u0435\u043d\u0442. \u0415\u0441\u043b\u0438 \u043c\u0435\u0441\u0442\u043e \u0432\u0441\u0442\u0430\u0432\u043a\u0438 \u043d\u0435 \u0443\u043a\u0430\u0437\u0430\u043d\u043e, \u0442\u043e, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u043c\u043e\u0436\u043d\u043e \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u0443\u0434\u0430 \u0443\u0433\u043e\u0434\u043d\u043e. \u041d\u043e \u043a\u0430\u043a \u0440\u0430\u0437 \u044d\u0442\u043e\u0442 \u0441\u043b\u0443\u0447\u0430\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d \u043d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u043e.  <\/p>\n<pre><code class=\"cpp\">typedef std::vector&lt;G4Parton *&gt; G4PartonVector;  inline void G4ExcitedString::InsertParton(   G4Parton *aParton, const G4Parton * addafter) {   G4PartonVector::iterator insert_index;   ....   if ( addafter != NULL )    {     insert_index=std::find(thePartons.begin(),                            thePartons.end(), addafter);     ....   }   thePartons.insert(insert_index+1, aParton); }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V614 Potentially uninitialized iterator &#8216;insert_index&#8217; used. g4excitedstring.hh 193<\/p>\n<p>  \u0415\u0441\u043b\u0438 \u0443\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c &#8216;addafter&#8217; \u0440\u0430\u0432\u0435\u043d \u043d\u0443\u043b\u044e, \u0442\u043e \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440 \u00abinsert_index\u00bb \u043e\u0441\u0442\u0430\u0451\u0442\u0441\u044f \u043d\u0435\u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u043c. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435, \u0432\u0441\u0442\u0430\u0432\u043a\u0430 \u043d\u043e\u0432\u043e\u0433\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430 \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u043a \u043d\u0435\u043f\u0440\u0435\u0434\u0441\u043a\u0430\u0437\u0443\u0435\u043c\u044b\u043c \u043f\u043e\u0441\u043b\u0435\u0434\u0441\u0442\u0432\u0438\u044f\u043c.<\/p>\n<h2>\u041e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u043d\u0435 \u0432\u0441\u0435\u0445 \u043d\u0443\u043a\u043b\u043e\u043d\u043e\u0432<\/h2>\n<p>  <a href=\"http:\/\/www.viva64.com\/go.php?url=1313\">\u041d\u0443\u043a\u043b\u043e\u043d\u044b<\/a> \u2014 \u043e\u0431\u0449\u0435\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u043f\u0440\u043e\u0442\u043e\u043d\u043e\u0432 \u0438 \u043d\u0435\u0439\u0442\u0440\u043e\u043d\u043e\u0432.<\/p>\n<p>  \u0418\u043c\u0435\u0435\u0442\u0441\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f packNucleons(), \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043d\u0435 \u0432\u0441\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u0446\u0438\u043a\u043b \u0437\u0430\u0432\u0435\u0440\u0448\u0430\u0435\u0442\u0441\u044f \u0441\u0440\u0430\u0437\u0443 \u043f\u043e\u0441\u043b\u0435 \u043f\u0435\u0440\u0432\u043e\u0439 \u0438\u0442\u0435\u0440\u0430\u0446\u0438\u0438. \u0412 \u043a\u043e\u043d\u0446\u0435 \u0442\u0435\u043b\u0430 \u0446\u0438\u043a\u043b\u0430 \u0438\u043c\u0435\u0435\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 &#8216;break&#8217;, \u043d\u043e \u043f\u0440\u0438 \u044d\u0442\u043e\u043c \u043d\u0438\u0433\u0434\u0435 \u043d\u0435\u0442 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 &#8216;continue&#8217;.  <\/p>\n<pre><code class=\"cpp\">void G4QMDGroundStateNucleus::packNucleons() {   ....   while ( nmTry &lt; maxTrial )   {     nmTry++;     G4int i = 0;      for ( i = 1 ; i &lt; GetMassNumber() ; i++ )     {       ....     }     if ( i == GetMassNumber() )      {       areTheseMsOK = true;     }     break;   }   .... }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V612 An unconditional &#8216;break&#8217; within a loop. g4qmdgroundstatenucleus.cc 274<\/p>\n<p>  \u041c\u043d\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 &#8216;break&#8217; \u0432 \u043a\u043e\u043d\u0446\u0435 \u043f\u0440\u043e\u0441\u0442\u043e \u043b\u0438\u0448\u043d\u0438\u0439 \u0438 \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e.<\/p>\n<h2>Lund string model \u0438 \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0430 \u0432 \u0438\u043d\u0434\u0435\u043a\u0441\u0435<\/h2>\n<p>  In particle physics, the <a href=\"http:\/\/www.viva64.com\/go.php?url=1314\">Lund string model<\/a> is a phenomenological model of hadronization.<\/p>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u043c\u0438 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u0430\u043c\u0438 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432, \u043e\u0447\u0435\u043d\u044c \u043b\u0435\u0433\u043a\u043e \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0443. \u0418\u043c\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u0438 \u043f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u043e \u0432 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u0435 \u043a\u043b\u0430\u0441\u0441\u0430 G4LundStringFragmentation. \u0412 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u043c \u043d\u0438\u0436\u0435 \u043a\u043e\u0434\u0435, \u043e\u0448\u0438\u0431\u043a\u0430 \u0441\u0440\u0430\u0437\u0443 \u0432\u0438\u0434\u043d\u0430. \u0414\u0432\u0430 \u0440\u0430\u0437\u0430 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043e\u0434\u043d\u043e\u0439 \u0438 \u0442\u043e\u0439 \u0436\u0435 \u044f\u0447\u0435\u0439\u043a\u0435. \u041e\u0434\u043d\u0430\u043a\u043e, \u044d\u0442\u043e \u043e\u0447\u0435\u043d\u044c \u0431\u043e\u043b\u044c\u0448\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044f, \u0433\u0434\u0435 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0430. \u0418 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0443, \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044f \u0444\u0443\u043d\u043a\u0446\u0438\u044e, \u043a\u0440\u0430\u0439\u043d\u0435 \u0441\u043b\u043e\u0436\u043d\u0430\u044f \u0437\u0430\u0434\u0430\u0447\u0430. \u042d\u0442\u043e\u0442 \u0442\u043e\u0442 \u0441\u043b\u0443\u0447\u0430\u0439, \u0433\u0434\u0435 <a href=\"http:\/\/www.viva64.com\/ru\/t\/0046\/\">\u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u043a\u043e\u0434\u0430<\/a> \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0435\u0437\u0430\u043c\u0435\u043d\u0438\u043c.  <\/p>\n<pre><code class=\"cpp\">G4LundStringFragmentation::G4LundStringFragmentation() {   ....   BaryonWeight[0][1][2][2]=pspin_barion*0.5;   ....   BaryonWeight[0][1][2][2]=(1.-pspin_barion);   .... }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V519 The &#8216;BaryonWeight[0][1][2][2]&#8217; variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 205, 208. g4lundstringfragmentation.cc 208<\/p>\n<p>  <b>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435<\/b>. \u0425\u043e\u0447\u0443 \u043e\u0442\u043c\u0435\u0442\u0438\u0442\u044c, \u0447\u0442\u043e \u0432 \u043a\u043e\u0434\u0435 \u043c\u043d\u0435 \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043b\u043e\u0441\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043c\u0435\u0441\u0442, \u0433\u0434\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0434\u0432\u0430 \u0440\u0430\u0437\u0430 \u043f\u043e\u0434\u0440\u044f\u0434 \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f. \u041c\u043d\u043e\u0433\u0438\u0435 \u043c\u0435\u0441\u0442\u0430 \u0432\u043f\u043e\u043b\u043d\u0435 \u0431\u0435\u0437\u043e\u0431\u0438\u0434\u043d\u044b. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432 \u043d\u0430\u0447\u0430\u043b\u0435, \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u043c \u043f\u0440\u0438\u0441\u0432\u0430\u0438\u0432\u0430\u0435\u0442\u0441\u044f 0, \u0430 \u0437\u0430\u0442\u0435\u043c \u0443\u0436\u0435 \u043d\u0430\u0441\u0442\u043e\u044f\u0449\u0435\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435. \u041e\u0434\u043d\u0430\u043a\u043e, \u043c\u043d\u043e\u0433\u0438\u0435 \u0438\u0437 \u0442\u0430\u043a\u0438\u0445 \u043c\u0435\u0441\u0442 \u043c\u043e\u0433\u0443\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043e\u0448\u0438\u0431\u043a\u0443. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0443\u044e \u0430\u0432\u0442\u043e\u0440\u0430\u043c Geant4 \u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u043e\u0442\u043d\u0435\u0441\u0442\u0438\u0441\u044c \u043a \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u043c \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f\u043c <a href=\"http:\/\/www.viva64.com\/ru\/d\/0108\/\">V519<\/a>. \u0421\u0430\u043c \u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u043b \u044d\u0442\u0438 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u043d\u043e.<\/p>\n<p>  \u041a\u0441\u0442\u0430\u0442\u0438, \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u043f\u043e\u043d\u044f\u0442\u0435\u043d \u043f\u043e\u0434\u0445\u043e\u0434, \u043a\u043e\u0433\u0434\u0430 \u0432\u043d\u0430\u0447\u0430\u043b\u0435 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0430\u044f \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u0443\u0435\u0442\u0441\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e, \u0430 \u0437\u0430\u0442\u0435\u043c \u0443\u0436\u0435 \u043d\u0443\u0436\u043d\u044b\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c. \u0417\u0430\u0447\u0435\u043c \u044d\u0442\u043e \u043d\u0443\u0436\u043d\u043e? \u041f\u0440\u043e\u0449\u0435 \u0441\u0440\u0430\u0437\u0443 \u043e\u0431\u044a\u044f\u0432\u043b\u044f\u0442\u044c \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u0443\u044e \u0442\u0430\u043c, \u0433\u0434\u0435 \u043e\u043d\u0430 \u043d\u0443\u0436\u043d\u0430, \u0438 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0443\u0436\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c.<\/p>\n<h2>\u041d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f V519<\/h2>\n<p>  \u041f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043c\u043e\u0442\u0440\u0438\u0442\u0441\u044f \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 G4KineticTrack:  <\/p>\n<pre><code class=\"cpp\">const G4KineticTrack&amp; G4KineticTrack::operator=(   const G4KineticTrack&amp; right) {   ....   the4Momentum = right.the4Momentum;     the4Momentum = right.GetTrackingMomentum();   .... }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V519 The &#8216;the4Momentum&#8217; variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 451, 452. g4kinetictrack.cc 452<\/p>\n<p>  \u041a\u0441\u0442\u0430\u0442\u0438, \u043d\u0430 \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u043a\u0442\u043e\u0440\u044b \u0432\u043e\u043e\u0431\u0449\u0435 \u0431\u044b\u043b\u043e \u043c\u043d\u043e\u0433\u043e \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0439 V519. \u0411\u044b\u0442\u044c \u043c\u043e\u0436\u0435\u0442, \u0432 \u0442\u0430\u043a\u043e\u043c \u043a\u043e\u0434\u0435 \u0435\u0441\u0442\u044c \u0441\u043c\u044b\u0441\u043b? \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0434\u043b\u044f \u0446\u0435\u043b\u0435\u0439 \u043e\u0442\u043b\u0430\u0434\u043a\u0438. \u041d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e. \u0422\u0430\u043a \u0447\u0442\u043e \u0434\u0443\u043c\u0430\u044e, \u0441\u0442\u043e\u0438\u0442 \u043f\u0440\u0438\u0432\u0435\u0441\u0442\u0438 \u0435\u0449\u0451 \u043f\u0430\u0440\u0443 \u043f\u0440\u0438\u043c\u0435\u0440\u043e\u0432 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u043a\u043e\u0434\u0430:  <\/p>\n<pre><code class=\"cpp\">void G4IonisParamMat::ComputeDensityEffect() {   ....   fX0density = 0.326*fCdensity-2.5 ;   fX1density = 5.0 ;   fMdensity = 3. ;    while((icase &gt; 0)&amp;&amp;(fCdensity &lt; ClimiG[icase])) icase-- ;   fX0density = X0valG[icase];   fX1density = X1valG[icase];   .... }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f PVS-Studio: V519 The &#8216;fX0density&#8217; variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 245, 247. g4ionisparammat.cc 247<\/p>\n<p>  V519 The &#8216;fX1density&#8217; variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 245, 247. g4ionisparammat.cc 247  <\/p>\n<pre><code class=\"cpp\">void G4AdjointPhotoElectricModel::SampleSecondaries(....) {    ....   pre_step_AdjointCS = totAdjointCS;   post_step_AdjointCS =     AdjointCrossSection(aCouple, electronEnergy,IsScatProjToProjCase);   post_step_AdjointCS = totAdjointCS;    .... }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V519 The &#8216;post_step_AdjointCS&#8217; variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 76, 77. g4adjointphotoelectricmodel.cc 77<\/p>\n<p>  \u0418 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u0439, \u0437\u0430\u043c\u0435\u0447\u0435\u043d\u043d\u044b\u0439 \u043c\u043d\u043e\u0439 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442. \u041e\u0431\u0440\u0430\u0442\u0438\u0442\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u0447\u043b\u0435\u043d &#8216;erecrem&#8217;.  <\/p>\n<pre><code class=\"cpp\">void G4Incl::processEventIncl(G4InclInput *input) {   ....   varntp-&gt;mzini = izrem;   varntp-&gt;exini = esrem;   varntp-&gt;pxrem = pxrem;   varntp-&gt;pyrem = pyrem;   varntp-&gt;pzrem = pzrem;   varntp-&gt;mcorem = mcorem;   varntp-&gt;erecrem = pcorem;   varntp-&gt;erecrem = erecrem;   .... }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V519 The &#8216;varntp-&gt;erecrem&#8217; variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 896, 897. g4incl.cc 897<\/p>\n<h2>\u0421\u0447\u0435\u0442 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0441 1<\/h2>\n<p>  \u041c\u043d\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0437\u0434\u0435\u0441\u044c \u043a\u0442\u043e-\u0442\u043e \u043d\u0430 \u043c\u0433\u043d\u043e\u0432\u0435\u043d\u0438\u0435 \u0437\u0430\u0431\u044b\u043b, \u0447\u0442\u043e \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0432 \u0421\u0438++ \u043d\u0443\u043c\u0435\u0440\u0443\u044e\u0442\u0441\u044f \u0441 \u043d\u0443\u043b\u044f. \u0412 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0435, \u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u043e\u0438\u0437\u043e\u0439\u0442\u0438 \u0432\u044b\u0445\u043e\u0434 \u0437\u0430 \u0433\u0440\u0430\u043d\u0438\u0446\u0443 \u043c\u0430\u0441\u0441\u0438\u0432\u0430. \u041f\u043b\u044e\u0441 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u0435 \u0441\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c 1.4, \u0440\u0430\u0441\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u043d\u044b\u043c \u0432 \u0441\u0430\u043c\u043e\u043c \u043d\u0430\u0447\u0430\u043b\u0435 \u043c\u0430\u0441\u0441\u0438\u0432\u0430.  <\/p>\n<pre><code class=\"cpp\">void G4HEInelastic::MediumEnergyClusterProduction(....) {   ....   G4double alem[] = {1.40, 2.30, 2.70, 3.00, 3.40, 4.60, 7.00};   ....   for (j = 1; j &lt; 8; j++) {     if (alekw &lt; alem[j]) {       jmax = j;       break;     }   }     .... }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V557 Array overrun is possible. The value of &#8216;j&#8217; index could reach 7. g4heinelastic.cc 4682<\/p>\n<h2>\u0424\u0438\u0437\u0438\u043a\u0430 \u0438 undefined behavior<\/h2>\n<p>  \u0421\u0438++ \u0436\u0435\u0441\u0442\u043e\u043a\u0438\u0439 \u044f\u0437\u044b\u043a. \u0427\u0443\u0442\u044c-\u0447\u0443\u0442\u044c \u0440\u0430\u0441\u0441\u043b\u0430\u0431\u0438\u043b\u0441\u044f \u2014 \u0438 \u0442\u0443\u0442 \u0436\u0435 \u043e\u0442\u0441\u0442\u0440\u0435\u043b\u0438\u043b \u0441\u0435\u0431\u0435 \u043f\u0440\u043e\u0442\u043e\u043d\u043e\u043c \u043d\u043e\u0433\u0443. \u041f\u0440\u0438\u0447\u0435\u043c, \u0441\u0440\u0430\u0437\u0443 \u044d\u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0438 \u043d\u0435 \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c. \u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440 \u043d\u0435\u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0433\u043e \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440\u0430 \u0441\u043b\u043e\u0436\u0435\u043d\u0438\u044f:  <\/p>\n<pre><code class=\"cpp\">template &lt;typename T&gt; GMocrenDataPrimitive&lt;T&gt; &amp;  GMocrenDataPrimitive&lt;T&gt;::operator +   (const GMocrenDataPrimitive&lt;T&gt; &amp; _right) {   GMocrenDataPrimitive&lt;T&gt; rprim;   ....   return rprim; }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V558 Function returns the reference to temporary local object: rprim. G4GMocren g4gmocrenio.cc 131<\/p>\n<p>  \u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u043e\u0431\u044a\u0435\u043a\u0442. \u041f\u043e\u043f\u044b\u0442\u043a\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u044d\u0442\u043e\u0439 \u0441\u0441\u044b\u043b\u043a\u043e\u0439 \u043f\u0440\u0438\u0432\u0435\u0434\u0451\u0442 \u043a \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u043c\u0443 \u043f\u043e\u0432\u0435\u0434\u0435\u043d\u0438\u044e.<\/p>\n<h2>\u041f\u043e\u0440\u0430 \u0437\u0430\u043a\u0440\u0443\u0433\u043b\u044f\u0442\u044c\u0441\u044f<\/h2>\n<p>  \u041a \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u044e, \u044d\u043a\u0441\u043a\u0443\u0440\u0441\u0438\u044e \u0432 \u043c\u0438\u0440 \u0444\u0438\u0437\u0438\u043a\u0438 \u043f\u043e\u0440\u0430 \u0437\u0430\u043a\u0430\u043d\u0447\u0438\u0432\u0430\u0442\u044c. \u0414\u0435\u043b\u043e \u0432 \u0442\u043e\u043c, \u0447\u0442\u043e \u044d\u0442\u043e \u0432\u0441\u0451-\u0442\u0430\u043a\u0438 \u0441\u0442\u0430\u0442\u044c\u044f, \u0430 \u043d\u0435 \u043c\u043d\u043e\u0433\u043e\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u044b\u0439 \u043e\u0442\u0447\u0451\u0442. \u0416\u0430\u043b\u044c, \u0447\u0442\u043e \u044f \u043d\u0435 \u0443\u0441\u043f\u0435\u043b \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u0442\u044c \u043f\u0440\u043e \u043c\u043d\u043e\u0433\u0438\u0435 \u0434\u0440\u0443\u0433\u0438\u0435 \u043e\u0448\u0438\u0431\u043a\u0438. \u0411\u043e\u043b\u0435\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0443\u0441\u043f\u0435\u043b \u0437\u0430\u043c\u0435\u0442\u0438\u0442\u044c, \u043f\u0440\u043e\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044f \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u044f PVS-Studio, \u043c\u043e\u0436\u043d\u043e \u0432 \u044d\u0442\u043e\u043c \u0444\u0430\u0439\u043b\u0435 \u2014 <a href=\"http:\/\/www.viva64.com\/external-pictures\/txt\/geant4.txt\">geant4.txt<\/a>.<\/p>\n<p>  \u0422\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0448\u0443 \u043d\u0435 \u0434\u0435\u043b\u0430\u0442\u044c \u0432\u044b\u0432\u043e\u0434, \u0447\u0442\u043e \u044d\u0442\u043e \u0432\u0441\u0435 \u043e\u0448\u0438\u0431\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0441\u043c\u043e\u0433 \u043d\u0430\u0439\u0442\u0438 PVS-Studio. \u042f \u0441\u043c\u043e\u0442\u0440\u0435\u043b \u043e\u0442\u0447\u0451\u0442 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u043d\u043e \u0438 \u043c\u043e\u0433 \u043c\u043d\u043e\u0433\u043e \u0447\u0435\u0433\u043e \u043f\u0440\u043e\u043f\u0443\u0441\u0442\u0438\u0442\u044c. \u041f\u0440\u043e\u0448\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u043e\u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u043f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043a\u043e\u0434 \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e PVS-Studio \u0441\u0430\u043c\u043e\u0441\u0442\u043e\u044f\u0442\u0435\u043b\u044c\u043d\u043e. \u041d\u0430\u043f\u0438\u0448\u0438\u0442\u0435 \u043d\u0430\u043c, \u0438 \u043c\u044b \u0432\u044b\u0434\u0435\u043b\u0438\u043c \u0434\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043a\u043b\u044e\u0447 \u043d\u0430 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f.<\/p>\n<p>  \u041d\u0443 \u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043a\u0430\u043a \u0432\u0441\u0435\u0433\u0434\u0430 \u043f\u043e\u0432\u0442\u043e\u0440\u044e\u0441\u044c, \u0447\u0442\u043e \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0430\u043d\u0430\u043b\u0438\u0437 \u043a\u043e\u0434\u0430 \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e, \u0430 \u043d\u0435 \u043e\u0442 \u0441\u043b\u0443\u0447\u0430\u044f \u043a \u0441\u043b\u0443\u0447\u0430\u044e. \u0427\u0442\u043e\u0431\u044b \u043e\u0441\u043e\u0437\u043d\u0430\u0442\u044c \u0432\u0430\u0436\u043d\u043e\u0441\u0442\u044c \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u043e\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u043e\u0447\u0435\u043d\u044c \u043f\u0440\u043e\u0448\u0443 \u043f\u043e\u0447\u0438\u0442\u0430\u0442\u044c <a href=\"http:\/\/www.viva64.com\/ru\/b\/0196\/\">\u0437\u0434\u0435\u0441\u044c<\/a> \u0438 <a href=\"http:\/\/www.viva64.com\/ru\/b\/0105\/\">\u0437\u0434\u0435\u0441\u044c<\/a>.<\/p>\n<p>  \u041a\u0430\u043a \u044f \u0443\u0436\u0435 \u0441\u043a\u0430\u0437\u0430\u043b, \u0432 \u0444\u0430\u0439\u043b\u0435 \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043e \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0431\u043e\u043b\u044c\u0448\u0435 \u043f\u043e\u0434\u043e\u0437\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0444\u0440\u0430\u0433\u043c\u0435\u043d\u0442\u043e\u0432 \u043a\u043e\u0434\u0430, \u0447\u0435\u043c \u0432 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435. \u042f \u0434\u0443\u043c\u0430\u044e \u0432\u0441\u0435 \u0441\u0438\u0442\u0443\u0430\u0446\u0438\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u043f\u043e\u043d\u044f\u0442\u043d\u044b. \u0412 \u043a\u0440\u0430\u0439\u043d\u0435\u043c \u0441\u043b\u0443\u0447\u0430\u0435, \u0445\u043e\u0447\u0443 \u043d\u0430\u043f\u043e\u043c\u043d\u0438\u0442\u044c, \u0447\u0442\u043e \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043a\u043e\u0434\u0430 \u043e\u0448\u0438\u0431\u043a\u0438 \u0432 <a href=\"http:\/\/www.viva64.com\/ru\/d\/0108\/\">\u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438<\/a> \u0435\u0441\u0442\u044c \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0435 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0441 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u043c\u0438.<\/p>\n<p>  \u0415\u0434\u0438\u043d\u0441\u0442\u0432\u0435\u043d\u043d\u043e, \u0445\u043e\u0447\u0443 \u043a\u0440\u0430\u0442\u043a\u043e \u043f\u043e\u044f\u0441\u043d\u0438\u0442\u044c \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438 V636 \u0438 V624. \u0418\u043d\u043e\u0433\u0434\u0430 \u043e\u043d\u0438 \u043c\u043e\u0433\u0443\u0442 \u0441\u0432\u0438\u0434\u0435\u0442\u0435\u043b\u044c\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043e \u043d\u0435\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0432 \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f\u0445. \u041c\u043d\u0435 \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u044d\u0442\u0438 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438 \u0432\u0430\u0436\u043d\u044b, \u043a\u043e\u0433\u0434\u0430 \u0440\u0435\u0447\u044c \u0438\u0434\u0451\u0442 \u043e \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0445.<\/p>\n<p>  <b>\u041f\u0440\u0438\u043c\u0435\u0440 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438 V636:<\/b>   <\/p>\n<pre><code class=\"cpp\">G4double G4XAqmTotal::CrossSection(   const G4KineticTrack&amp; trk1, const G4KineticTrack&amp; trk2) const {   ....   G4int sTrk1 = ....;   G4int qTrk1 = ....;     G4double sRatio1 = 0.;   if (qTrk1 != 0) sRatio1 = sTrk1 \/ qTrk1;   .... }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V636 The &#8216;sTrk1 \/ qTrk1&#8217; expression was implicitly casted from &#8216;int&#8217; type to &#8216;double&#8217; type. Consider utilizing an explicit type cast to avoid the loss of a fractional part. An example: double A = (double)(X) \/ Y;. g4xaqmtotal.cc 103<\/p>\n<p>  \u0420\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0434\u0435\u043b\u0435\u043d\u0438\u044f \u00abdouble X = 3\/2\u00bb \u0440\u0430\u0432\u0435\u043d 1, \u0430 \u043d\u0435 1.5 \u043a\u0430\u043a \u043c\u043e\u0436\u0435\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c\u0441\u044f \u0438\u0437-\u0437\u0430 \u043d\u0435\u0432\u043d\u0438\u043c\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438. \u0412 \u043d\u0430\u0447\u0430\u043b\u0435, \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435 \u0434\u0435\u043b\u0435\u043d\u0438\u0435, \u0430 \u0443\u0436\u0435 \u0437\u0430\u0442\u0435\u043c \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043f\u0440\u0435\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u0441\u044f \u0432 \u0442\u0438\u043f &#8216;double&#8217;. \u0420\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u044f \u043d\u0435\u0437\u043d\u0430\u043a\u043e\u043c\u044b\u0439 \u043a\u043e\u0434, \u0442\u0440\u0443\u0434\u043d\u043e \u0441\u043a\u0430\u0437\u0430\u0442\u044c, \u043d\u0443\u0436\u043d\u043e \u043b\u0438 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435 \u0434\u0435\u043b\u0435\u043d\u0438\u0435 \u0438\u043b\u0438 \u044d\u0442\u043e \u043e\u0448\u0438\u0431\u043a\u0430. \u0414\u0443\u043c\u0430\u044e, \u0442\u0430\u043a\u0438\u0435 \u043c\u0435\u0441\u0442\u0430 \u0432 Geant4 \u0437\u0430\u0441\u043b\u0443\u0436\u0438\u0432\u0430\u044e\u0442 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u044f. <\/p>\n<p>  <i>\u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435. \u0415\u0441\u043b\u0438 \u0442\u0440\u0435\u0431\u0443\u0435\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u043d\u043e \u0446\u0435\u043b\u043e\u0447\u0438\u0441\u043b\u0435\u043d\u043d\u043e\u0435 \u0434\u0435\u043b\u0435\u043d\u0438\u0435, \u0442\u0430\u043a\u0438\u0435 \u043c\u0435\u0441\u0442\u0430 \u0441\u0442\u043e\u0438\u0442 \u0441\u043e\u043f\u0440\u043e\u0432\u043e\u0436\u0434\u0430\u0442\u044c \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0435\u043c.<\/i><\/p>\n<p>  <b>\u041f\u0440\u0438\u043c\u0435\u0440 \u0434\u0438\u0430\u0433\u043d\u043e\u0441\u0442\u0438\u043a\u0438 V624:<\/b>   <\/p>\n<pre><code class=\"cpp\">dSigPodT = HadrTot*HadrTot*(1+HadrReIm*HadrReIm)*    (....)\/16\/3.1416*2.568;<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V624 The constant 3.1416 is being utilized. The resulting value could be inaccurate. Consider using the M_PI constant from &lt;math.h&gt;. g4elastichadrnucleushe.cc 750<\/p>\n<p>  \u041d\u0435\u043f\u043e\u043d\u044f\u0442\u043d\u043e, \u043f\u043e\u0447\u0435\u043c\u0443 \u043c\u0430\u0441\u0441\u043e\u0432\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0442\u0441\u044f \u0436\u0435\u0441\u0442\u043a\u0438\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u0434\u043b\u044f \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0447\u0438\u0441\u043b\u0430 \u041f\u0438, \u041f\u0438\/2 \u0438 \u0442\u0430\u043a \u0434\u0430\u043b\u0435\u0435. \u0413\u043e\u0442\u043e\u0432 \u043f\u043e\u0432\u0435\u0440\u0438\u0442\u044c, \u0447\u0442\u043e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0432\u043f\u043e\u043b\u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442. \u041d\u043e \u0432\u0441\u0451 \u0440\u0430\u0432\u043d\u043e, \u044d\u0442\u043e \u043d\u0435 \u043e\u0431\u044a\u044f\u0441\u043d\u0435\u043d\u0438\u0435. \u0422\u0430\u043a\u0438\u0435 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u044b \u2014 \u043b\u0438\u0448\u043d\u0438\u0439 \u043f\u043e\u0432\u043e\u0434 \u0434\u043b\u044f \u043e\u043f\u0435\u0447\u0430\u0442\u043e\u043a \u0438 \u043d\u0435\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0435\u0439. \u0415\u0441\u0442\u044c \u043c\u0430\u0441\u0441\u0430 \u043f\u0440\u0435\u0434\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u044b\u0445 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442, \u0442\u0430\u043a\u0438\u0445 \u043a\u0430\u043a M_PI, M_PI_4, M_LN2. PVS-Studio \u0432\u044b\u0434\u0430\u0451\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0440\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u043f\u043e \u0437\u0430\u043c\u0435\u043d\u0435 \u0436\u0435\u0441\u0442\u043a\u0438\u0445 \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442.<\/p>\n<p>  \u0427\u0443\u0442\u044c \u043d\u0435 \u0437\u0430\u0431\u044b\u043b. \u0412 \u0444\u0430\u0439\u043b\u0435 <a href=\"http:\/\/www.viva64.com\/external-pictures\/txt\/geant4.txt\">geant4.txt<\/a> \u044f \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u0438\u0432\u0451\u043b \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u044f, \u043e\u0442\u043d\u043e\u0441\u044f\u0449\u0438\u0435\u0441\u044f \u043a \u043c\u0438\u043a\u0440\u043e\u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u044f\u043c. \u041d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u043f\u043e \u043f\u043e\u0432\u043e\u0434\u0443 \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430 \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432:  <\/p>\n<pre><code class=\"cpp\">class G4PhysicsTable : public std::vector&lt;G4PhysicsVector*&gt; {   .... };  typedef G4PhysicsTable::iterator G4PhysicsTableIterator;  inline  void  G4PhysicsTable::insertAt (....) {   G4PhysicsTableIterator itr=begin();   for (size_t i=0; i&lt;idx; ++i) { itr++; }   .... }<\/code><\/pre>\n<p>  \u041f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0435\u043d\u0438\u0435 PVS-Studio: V803 Decreased performance. In case &#8216;itr&#8217; is iterator it&#8217;s more effective to use prefix form of increment. Replace iterator++ with ++iterator. g4physicstable.icc 83<\/p>\n<p>  \u041f\u043e\u0434\u043e\u0431\u043d\u0435\u0435, \u043f\u043e\u0447\u0435\u043c\u0443 \u044d\u0442\u043e\u0442 \u0441\u0442\u043e\u0438\u0442 \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c, \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 \u0441\u0442\u0430\u0442\u044c\u0435: <a href=\"http:\/\/www.viva64.com\/ru\/b\/0093\/\">\u0415\u0441\u0442\u044c \u043b\u0438 \u043f\u0440\u0430\u043a\u0442\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0441\u043c\u044b\u0441\u043b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f \u0438\u0442\u0435\u0440\u0430\u0442\u043e\u0440\u043e\u0432 \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u043d\u044b\u0439 \u043e\u043f\u0435\u0440\u0430\u0442\u043e\u0440 \u0438\u043d\u043a\u0440\u0435\u043c\u0435\u043d\u0442\u0430 ++it, \u0432\u043c\u0435\u0441\u0442\u043e \u043f\u043e\u0441\u0442\u0444\u0438\u043a\u0441\u043d\u043e\u0433\u043e it++<\/a>.<\/p>\n<h2>\u0417\u0430\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>  \u0421\u043c\u0438\u0440\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u043e\u0448\u0438\u0431\u043a\u0438 \u0438 \u043e\u043f\u0435\u0447\u0430\u0442\u043a\u0438 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u044e\u0442 <a href=\"http:\/\/www.viva64.com\/ru\/examples\/\">\u0432\u0441\u0435<\/a>. \u0418 \u0434\u0430, \u0434\u0430\u0436\u0435 \u0432\u044b, \u0443\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u0438. \u042d\u0442\u043e \u043d\u0435\u0438\u0437\u0431\u0435\u0436\u043d\u043e. \u0418\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043a\u043e\u0434\u0430, \u043c\u043e\u0436\u043d\u043e \u0438\u0441\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u043e\u0448\u0438\u0431\u043e\u043a \u043d\u0430 \u0441\u0430\u043c\u044b\u0445 \u0440\u0430\u043d\u043d\u0438\u0445 \u044d\u0442\u0430\u043f\u0430\u0445. \u042d\u0442\u043e \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442 \u0432\u0440\u0435\u043c\u044f, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u043d\u0430 \u043f\u043e\u0438\u0441\u043a \u0434\u0435\u0444\u0435\u043a\u0442\u043e\u0432 \u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442 \u0431\u043e\u043b\u044c\u0448\u0435\u0435 \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u0443\u0434\u0435\u043b\u0438\u0442\u044c \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e \u0440\u0435\u0448\u0430\u0435\u043c\u043e\u0439 \u0437\u0430\u0434\u0430\u0447\u0438. <\/p>\n<h2>\u0414\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0441\u0441\u044b\u043b\u043a\u0438<\/h2>\n<p>  <\/p>\n<ol>\n<li>\u0410\u043d\u0434\u0440\u0435\u0439 \u041a\u0430\u0440\u043f\u043e\u0432. \u041c\u0438\u0444\u044b \u043e \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u043c \u0430\u043d\u0430\u043b\u0438\u0437\u0435. <a href=\"http:\/\/www.viva64.com\/ru\/b\/0116\/\">\u041c\u0438\u0444 \u0432\u0442\u043e\u0440\u043e\u0439 \u2014 \u043f\u0440\u043e\u0444\u0435\u0441\u0441\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u044b\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u043d\u0435 \u0434\u043e\u043f\u0443\u0441\u043a\u0430\u044e\u0442 \u0433\u043b\u0443\u043f\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a<\/a>.<\/li>\n<li>\u0410\u043d\u0434\u0440\u0435\u0439 \u041a\u0430\u0440\u043f\u043e\u0432. <a href=\"http:\/\/www.viva64.com\/ru\/b\/0132\/\">\u041e\u0442\u0432\u0435\u0442\u044b \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0447\u0430\u0441\u0442\u043e \u0437\u0430\u0434\u0430\u044e\u0442 \u043f\u043e\u0441\u043b\u0435 \u043f\u0440\u043e\u0447\u0442\u0435\u043d\u0438\u044f \u043d\u0430\u0448\u0438\u0445 \u0441\u0442\u0430\u0442\u0435\u0439<\/a>.<\/li>\n<li>\u041d\u043e\u0432\u043e\u0441\u0442\u0438 \u043e \u044f\u0437\u044b\u043a\u0435 \u0421\u0438++, \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b\u0435 \u0441\u0442\u0430\u0442\u044c\u0438 \u0438 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u044f \u043e \u043f\u0440\u043e\u0432\u0435\u0440\u0435\u043d\u043d\u044b\u0445 \u043d\u0430\u043c\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430\u0445: <a href=\"https:\/\/twitter.com\/Code_Analysis\">@Code_Analysis<\/a>.<\/li>\n<li>\u041f\u0435\u0440\u0432\u043e\u0435 \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432\u043e \u0441 \u0430\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u043c: <a href=\"http:\/\/www.viva64.com\/ru\/b\/0222\/\">PVS-Studio \u0434\u043b\u044f Visual C++<\/a>.<\/li>\n<\/ol>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/company\/pvs-studio\/blog\/200938\/\"> http:\/\/habrahabr.ru\/company\/pvs-studio\/blog\/200938\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t<img decoding=\"async\" align=\"left\" src=\"http:\/\/habr.habrastorage.org\/post_images\/1b3\/960\/47c\/1b396047c51eb8505b6ebda89af263fe.png\" alt=\"PVS-Studio, CERN\"\/><\/p>\n<p>  \u0421\u0435\u0439\u0447\u0430\u0441 \u044f \u0431\u0443\u0434\u0443 \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0438 \u043f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0430 \u043f\u0440\u0438\u043c\u0435\u0440\u0430\u0445, \u043f\u043e\u0447\u0435\u043c\u0443 \u0444\u0438\u0437\u0438\u043a\u0438 \u0442\u043e\u0436\u0435 \u0434\u043e\u043b\u0436\u043d\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0441\u0442\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043a\u043e\u0434\u0430. \u041c\u043d\u0435 \u0431\u044b \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c, \u0447\u0442\u043e\u0431\u044b \u044d\u0442\u0438\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u043c \u0431\u044b\u043b PVS-Studio. \u041d\u043e, \u043a\u043e\u043d\u0435\u0447\u043d\u043e, \u043b\u044e\u0431\u043e\u0439 \u0434\u0440\u0443\u0433\u043e\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0442\u043e\u0436\u0435 \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u0435\u043d. \u0410\u043d\u0430\u043b\u0438\u0437\u0430\u0442\u043e\u0440 \u043a\u043e\u0434\u0430 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442 \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u043e\u0442\u043b\u0430\u0434\u043a\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0438 \u0443\u043c\u0435\u043d\u044c\u0448\u0438\u0442 \u0433\u043e\u043b\u043e\u0432\u043d\u044b\u0435 \u0431\u043e\u043b\u0438 \u043e\u0442 \u0442\u0443\u043f\u044b\u0445 \u043e\u0448\u0438\u0431\u043e\u043a. \u041b\u0443\u0447\u0448\u0435 \u043f\u043e\u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u0443\u043c\u0430\u0442\u044c \u043e \u0444\u0438\u0437\u0438\u043a\u0435 \u0438 \u043f\u043e\u043c\u0435\u043d\u044c\u0448\u0435 \u043e\u0431 \u043e\u0448\u0438\u0431\u043a\u0430\u0445 \u0432 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430\u0445 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438++.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-200938","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/200938","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=200938"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/200938\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=200938"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=200938"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=200938"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}