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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
 
ASCII
90 / 63 / 10
Регистрация: 15.12.2013
Сообщений: 407
Завершенные тесты: 2
#1

Особенности Visual Studio 2010 - C++

12.08.2014, 00:57. Просмотров 907. Ответов 27
Метки нет (Все метки)

Всем привет. Вопрос знатокам С/C++.

Мы знаем, что, взять например язык С:
1) Компилятор языка при присвоении одной переменной одного типа другой переменной другого типа, где возможна потеря данных не требует явного привидения типов, но выдаст предупреждение, хотя в такой же ситуации компилятор
С++ выдаст ошибку.

Вот например:

C++
1
2
3
4
5
6
/* Какой-то код */
// .. где-то внутри функции main
int *pdm;
// ...
pdm = malloc(100 * sizeof(int));
// ...
По идее компилятор С должен выдать предупреждение, однако компилируя этот код в VS2010 компилятор выдает мне ошибку и не компилирует.
Требует писать как в С++:
C++
1
pdm = (int *)malloc(100 * sizeof(int));
При этом файл назывался так - proc.c.

2) Еще один пример касаемо именно С++. При создании, если самому не определять конструктор, то его должен неявно определить компилятор, но если мы сами вручную его определяем, то именно он и должен работать...
Однако с точки зрения компилятора это почему-то не так...

C++
1
2
3
4
5
6
class T {
    int i;
public:
    T(int x) { i = x; }
    int get_i() { return i; }
};
Однако при таком объявлении класса, создать его объект таким образом представляется возможным:

C++
1
T test_obj;
То есть получается VS2010 сам еще неявно создает конструктор для неинициализированного объекта?
Спасибо за внимание!
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.08.2014, 00:57
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Особенности Visual Studio 2010 (C++):

Visual Studio 2010 - C++
Прошу прощения если написал не туда, отдельного форма по VS не нашел! Люди такая проблема!! У меня есть VS 2010 Ultimate начинаю...

c++, visual studio 2010! 7 - C++
Given three natural numbers a, b, c which represent the day, month and year of some date. For example: 1, 4, 1991 represents 1st April...

c++, visual studio 2010! 1. - C++
Given real numbers a, b, c, where a is not 0. Find if a quadratic inequality ах2 + bx + с = 0 has real roots. If it does, output them. If...

Visual Studio 2010 - C++
как запустить с флехи exe файл программы Си в Visual Studio 2010??

c++, visual studio 2010! 6. - C++
Given natural number n. Compute 2 to the power of n. Do not use pow() function. Example: Input: 5 Output: 32

Visual Studio 2010 - C++
Вот я пользуюсь Visual Studio 2010, может кто подсказать как в ней разробатывать интерфейс для програм. Можесть ссылка у кого на такой...

27
Vourhey
Почетный модератор
6485 / 2259 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
12.08.2014, 01:27 #16
Цитата Сообщение от ASCII Посмотреть сообщение
Наверное в микрософте считают иначе.
Вот, блин, из-за тебя студию теперь поднимать, примеры твои копировать... На.
Особенности Visual Studio 2010
VS 2013, компилятор майкрософтский.
1
gromo
371 / 270 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
12.08.2014, 01:33 #17
ASCII,
12 /1
The default constructor (12.1), copy constructor and copy assignment operator (12.8), move constructor
and move assignment operator (12.8), and destructor (12.4) are special member functions. [ Note: The
implementation will implicitly declare these member functions for some class types when the program does
not explicitly declare them.
Добавлено через 3 минуты
Хм... на gcc тоже нельзя создать default-constructed объект класа T.
Ведь написано в стандарте, что к спец. функциям-членам относится только конструктор по умолчанию ( и никакие другие конструкторы) и если он, конструктор по умолчанию, не определен явно, то должен быть сформирован неявно компилятором.
1
Vourhey
Почетный модератор
6485 / 2259 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
12.08.2014, 01:34 #18
Цитата Сообщение от gromo Посмотреть сообщение
ASCII,
12 /1
The default constructor (12.1), copy constructor and copy assignment operator (12.8), move constructor
and move assignment operator (12.8), and destructor (12.4) are special member functions. [ Note: The
implementation will implicitly declare these member functions for some class types when the program does
not explicitly declare them.
Note that the default constructor dissappears when you define a constructor requiring arguments.
.....
1
ASCII
90 / 63 / 10
Регистрация: 15.12.2013
Сообщений: 407
Завершенные тесты: 2
12.08.2014, 01:35  [ТС] #19
хм, то ли я действительно что-то не так делаю...
0
Миниатюры
Особенности Visual Studio 2010  
Vourhey
Почетный модератор
6485 / 2259 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
12.08.2014, 01:35 #20
Цитата Сообщение от gromo Посмотреть сообщение
Хм... на gcc тоже нельзя создать default-constructed объект класа T.
Удивительно, да
1
Croessmah
Эксперт CЭксперт С++
13510 / 7668 / 866
Регистрация: 27.09.2012
Сообщений: 18,865
Записей в блоге: 3
Завершенные тесты: 1
12.08.2014, 01:38 #21
Цитата Сообщение от ASCII Посмотреть сообщение
хм, то ли я действительно что-то не так делаю...
может у Вас ошибки компиляции и запускается более ранняя версия программы?
1
ASCII
90 / 63 / 10
Регистрация: 15.12.2013
Сообщений: 407
Завершенные тесты: 2
12.08.2014, 01:39  [ТС] #22
Чет сдается мне, что я сам где-то косячу

Добавлено через 40 секунд
Цитата Сообщение от Croessmah Посмотреть сообщение
может у Вас ошибки компиляции и запускается более ранняя версия программы?
Ну сейчас буду проверять... Спасибо за идею
0
ASCII
90 / 63 / 10
Регистрация: 15.12.2013
Сообщений: 407
Завершенные тесты: 2
12.08.2014, 01:42  [ТС] #23
И вот, хотя вроде как С это должен скомпилировать...
0
Миниатюры
Особенности Visual Studio 2010  
Vourhey
Почетный модератор
6485 / 2259 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
12.08.2014, 01:42 #24
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от ASCII Посмотреть сообщение
Ну сейчас буду проверять... Спасибо за идею
Запусти ребилд руками.
1
Vourhey
Почетный модератор
6485 / 2259 / 123
Регистрация: 29.07.2006
Сообщений: 12,635
12.08.2014, 01:43 #25
Цитата Сообщение от ASCII Посмотреть сообщение
И вот, хотя вроде как С это должен скомпилировать...
Ну да...Особенности Visual Studio 2010
0
Croessmah
Эксперт CЭксперт С++
13510 / 7668 / 866
Регистрация: 27.09.2012
Сообщений: 18,865
Записей в блоге: 3
Завершенные тесты: 1
12.08.2014, 01:44 #26

Не по теме:

"pause >> void"
так еще кто-то пишет?


Visual studio 2010
0
DrOffset
7351 / 4451 / 1009
Регистрация: 30.01.2014
Сообщений: 7,292
12.08.2014, 01:45 #27
Цитата Сообщение от ASCII Посмотреть сообщение
И вот, хотя вроде как С это должен скомпилировать...
Должен.
0
ASCII
90 / 63 / 10
Регистрация: 15.12.2013
Сообщений: 407
Завершенные тесты: 2
12.08.2014, 01:45  [ТС] #28
Цитата Сообщение от Vourhey Посмотреть сообщение
Запусти ребилд руками.
Получилось, спасибо
0
12.08.2014, 01:45
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.08.2014, 01:45
Привет! Вот еще темы с ответами:

Visual studio 2010 - C++
Господа, подскажите, где нужно полазить в опциях студии, чтобы после изменения программы она не запускала последний удачный дебаг? Заранее...

c++, visual studio 2010! 2. - C++
Given a year number. Output the number of days of that year. Example: Input: 1900 Output 365 Example:

visual studio expres 2010 - C++
Здраствуйте, подскажите пожалуйста как в microsoft visual studio expres 2010 к класу прибавить функцию?

Ошибка в visual studio 2010 c++ - C++
Доброго времени суток, друзья! У меня такая проблема, что при запуске программы vs10 выдает ошибку(см.скрин ниже). Знаю, что у многих...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
28
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru