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

Объявление объекта внутри функции - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ о строках http://www.cyberforum.ru/cpp-beginners/thread598661.html
вопрос по поводу строк. я хочу в cout выводить русские символы и какие нибудь строки на русском. например string a; getline(cin,a); cout<<"Мама мыла раму",a; Если просто так давать компилятору это скушать , то получаются кракозябры из "Мама мыла раму" , нормальный текст из строки a. Если использовать setlocale , то тогда нормально печатается "Мама мыла раму" , а все строки которые...
C++ Одномерные массивы Помогите пожалуйста. Вычислить сумму элементов последовательности x1, x2, …, xn (n<=20), удовлетворяющих неравенству а < x < b. Пронормировать все элементы последовательности значением суммы http://www.cyberforum.ru/cpp-beginners/thread598655.html
C++ Строка S содержит фамилию, имя, отчество. Необходимо преобразовать ее в строку, содержащую фамилию и инициалы
Строка S содержит фамилию, имя, отчество. Необходимо преобразовать ее в строку, содержащую фамилию и инициалы. _______ Как это задание сделать в C# я более или менее понимаю, но как сделать с C++ увы и ах( Вобщем то,Насколько понимаю я , надо идти по строке, отметив после первого пробела первое слово, и сохранив его. от следующих двух слов надо взять только первые буквы. Но загвоздка в...
Таблица футбольного чемпионата C++
Ребята! Пожалуйста помогите в Turbo C++ сделать! Очень прошу... Таблица футбольного чемпионата задана квадратной матрицей порядка n, в которой все элементы, принадлежащие главной диагонали, равны нулю, а каждый элемент, не принадлежащий главной диагонали, равен 2, 1 или 0 (числу очков, набранных в игре: 2 — выигрыш, 1 — ничья, 0 — проигрыш). Определить номера команд, прошедших чемпионат...
C++ Сбалансированное дерево поиска http://www.cyberforum.ru/cpp-beginners/thread598588.html
#include <iostream.h> struct node { int Key; int Count; node *Left; node *Right; }; class TREE
C++ string and != int main() { Home stat; string x; vector<string>name; while (cin>>x && x!='q')//error name.push_back(x); stat.show_vector(name); подскажите как сделать так чтобі віход из цикла при вводе кью? подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
16.06.2012, 15:19     Объявление объекта внутри функции
Нельзя полагаться на автоматическую очистку указателя, особенно завернутого в класс: не известно, что валялось в памяти там, где создан сам указатель и существует стандарт, по которому любая переменная при объявлении сохраняет этот мусор и хотя плюсы от этого ушли, но совсем не так:
Цитата Сообщение от OstapBender Посмотреть сообщение
когда a1, объявлена как глобальная, все поля автоматически инициализируются нулями
, а так: за стартовое значение любого объекта отвечает конструктор его класса, если ни один конструктор не прописан, то контсруктор без параметров создаётся неявно и автоматически и в нём кодируется автоматическое обнуление всех указателей и всех скалярных полей, а поля-объекты инициируются конструкторами своих объектов. Это приводит к тому, что правила инициализации могут плавать от типа к типу, особенно если эти типы - классы и такое поведение компилятора усугубляется ещё и наследованием. Поэтому если у тебя есть указатель и ты не уверен в его инициализации конструктором предка, то инициируй сам. Мало ли, может предок вообще не имеет подходящего конструктора.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru