Форум программистов, компьютерный форум CyberForum.ru

Указатели и сссылки. Надо ли обнулять? когда и как это делать? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Изменить const с помощью mutable http://www.cyberforum.ru/cpp-beginners/thread439088.html
Привет всем, у меня 1 вот такой вопрос, почему в етом коде "а" - не изменяется? у меня же "b" -mutable? помогите пожалуйста... class A { private: const int a; mutable int b; public:
C++ странный "глюк" при опредедении следующего символьного массива: char с = "abcde"; ошибки нет. Всё понятно. Пять символов, плюс символ окончания строки '\0' а при char с = "абвгд"; редактор Visual Studio 2010 Express edition подчёркивает как ошибку "абвгд" и пишет: "Error:значение типа "const char" нельзя использовать для инициализации сущности типа "char" Но сама программа работает без ошибок. http://www.cyberforum.ru/cpp-beginners/thread439052.html
C++ Вероятное зацикливание
Приведет ли такой код к краху? class MyClass1 { ... MyClass2 * ptr2; } class MyClass2 {
Приложение для безопасного извлечение устройства из usb C++
Приветствую, знатоков С++! хочу написать приложение для облегчения этого надоедливого процесса: левой кнопкой по значку / извлечение "usb flash device" хотелось бы на раб. столе иметь exe который будет выполнять всю эту работу по безопасному извлечению. возможно обратился не в тот блок.. не знаю. просто я еще пока не так много умею в C++. что хочу: команды, возможно api, для...
C++ 2 функции для вывода вектора и матрицы на экран http://www.cyberforum.ru/cpp-beginners/thread438980.html
#ifndef __VECTOR_H__ #define __VECTOR_H__ #include <cmath> #include <iostream> using namespace std; class Vector { private: double x;
C++ Функция,меняющая 1и 2 элемент местами Уважаемые программисты,помогите написать программу, в которой функция меняет местами 1 и 2 элемент подробнее

Показать сообщение отдельно
Том Ардер
Модератор
 Аватар для Том Ардер
3617 / 2236 / 271
Регистрация: 15.06.2009
Сообщений: 3,912
01.02.2012, 15:01     Указатели и сссылки. Надо ли обнулять? когда и как это делать?
Хороший стиль программирования предлагает инициализировать указатель сразу же после объявления:

C++
1
2
char *ptr = NULL;
int *ptr_array = new int[N];
Небрежность в этом может вызвать серьёзные последствия. Вот пример: сопровождал я несколько лет назад большой проект, написанный на Visual Studio 6. Программа временами валилась с ошибкой памяти, трассировка и отладчик не могли дать определённого ответа - место ошибки плавало самым случайным образом. Удалось только определить функцию, вызов которой иногда приводил к ошибке. Текст функции занимал около 1 тыс. строк жуткого кода без отступов и комментариев. Пришлось разобраться в алгоритме и полностью эту функцию переписать, разделив её на небольшие блоки, выполняющие каждый свою - и только одну - задачу. Во время разбора и выяснилась причина ошибки. В исходном тексте было:

C++
1
2
3
4
5
char *p;
// через несколько сот строк
p= адрес чего-то
// ещё  через несколько сот строк
*p=NULL;
 
Текущее время: 10:08. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru