Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.52/29: Рейтинг темы: голосов - 29, средняя оценка - 4.52
59 / 49 / 14
Регистрация: 23.02.2016
Сообщений: 433

Прямая инициализация в C++ и функция-конструктор в Javascript

09.04.2020, 02:01. Показов 7326. Ответов 76
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вопрос собственно следующий, а не является ли прямая инициализация обычным вызовом функции как это сделано при создании объекта с помощью функции-конструктора в Javascript ? Просто сам синтаксис
C++
1
Rabbit Bugs_Bunny = new Rabbit('Bugs Bunny');
писал автоматически/аксиоматически, что вот так и всё, но в момент чтения статьи про конструктор в джиэсе меня что-то осенило, а вдруг в действительности вызывается некоторая функция, понятно, что тут вызов конструктора идёт, я к тому, что сама суть прямой инициализации состоит именно в вызове функции?

p.s. https://learn.javascript.ru/fu... onstructor
p.p.s. https://learn.javascript.ru/cl... a-funktsii
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.04.2020, 02:01
Ответы с готовыми решениями:

Конструктор копий, инициализация объектов
#include <iostream> using namespace std; class myClass { public: myClass() { cout << "in myClass default...

Инициализация массива через конструктор
Есть код : class test { private: int x; public: test() : x{ 0, 0 } {} }; Не понимаю почему не работает? Кому не тяжело...

Constexpr конструктор и инициализация массива
Подскажите и разъясните пожалуйста почему почему нельзя или как можно инициализировать статический массив в constexpr конструкторе? Я...

76
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
09.04.2020, 22:12
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Croessmah Посмотреть сообщение
В твоем случае, это приводит к direct-initialization с опущенным expression-list.
Так. А Direct Initialization типа не разу не в вызов конструктора превращается? Даже при том что он тривиальный и поэтому инлайнится. Все оно одинаково для всего причем везде.
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
09.04.2020, 22:16
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Если нет конструктора (хотя бы тривиальной заплатки) то почему не генерится соответсвующая ошибка?
Это такой троллинг?

Вам уже не раз подробно объяснили, что синтаксис T() - это синтаксис явного преобразования типа в функциональной нотации, который работает по правилам инициализации.

Правила инициализации для типа int нигде и никак не используют никаких "конструкторов" ни на одном из шагов. С чего бы это вдруг тут будет какая-то ошибка?

Добавлено через 2 минуты
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А Direct Initialization типа не разу не в вызов конструктора превращается?
Нет, для типа int - не превращается.

Такая инициализация превращается в value-инициализацию (http://eel.is/c++draft/dcl.init#11). А value-инициализация разворачивается по правилам http://eel.is/c++draft/dcl.init#8, которые говорят, что объект не-класс типа будет подвергнут zero-initialization. Все, никаких конструкторов.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
09.04.2020, 22:22
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
А Direct Initialization типа не разу не в вызов конструктора превращается?
Нет. Это зависит от типа. В нашем случае скобки пустые. Смотри: https://eel.is/c++draft/dcl.init#17
If the initializer is (), the object is value-initialized.
т.е. будет использоваться value-initialization.
Читаем про нее: https://eel.is/c++draft/dcl.init#8
Для нашего случая с int имеем
otherwise, the object is zero-initialized.
т.е. будет использоваться инициализация нулем, правила которой гласят: https://eel.is/c++draft/dcl.init#6
if T is a scalar type, the object is initialized to the value obtained by converting the integer literal 0 (zero) to T
Вот и всё. Ни о каких конструкторах для int речи даже не идет. И direct-initialization != вызов конструктора.

Добавлено через 1 минуту
Опоздал.
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
09.04.2020, 22:35
Интересным моментом value-инициализации, кстати, является то, что даже при работе с класс-типами она выходит за рамки того, что делает конструктор

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include <string>
#include <iostream>
 
struct S
{
  std::string a;
  int b;
};
 
// Конструктор `S::S()` не инициализирует `S::b`
 
int main()
{
  S s1;
  std::cout << s1.b << std::endl; 
  // Просто конструктор - мусор в `S::b`
 
  S s2{};
  std::cout << s2.b << std::endl;
  // Гарантированный `0` в `S::b`. Value-инициализация - это больше чем просто конструктор
}
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
09.04.2020, 22:53
Цитата Сообщение от Croessmah Посмотреть сообщение
Вот и всё. Ни о каких конструкторах для int речи даже не идет. И direct-initialization != вызов конструктора.
Вы ото как будто не понимаете что на самом деле никаких таких конверсий из скобок в инитиализер и т.д. на самом деле нету. А есть табличка замены найденных конструкций на код (естественно там через кучу проходов оптимизации промежуточных представлений но суть от этого не меняется). Нашел для типа и параметров в этой таблице сниппет - заменил. не нашел - выдал ошибку. А что там - непосредственно код инициализации или вызов чаво или вооще пустота - это уже дело десятое. И ничем встроенные типы окромя того что содержимое этих сниппетов зашито в таблицу в исходе а не получено из кода не отличается. И зачем всю эту мудристику для настолько простых вещей разводить если и по поведению и по концепции оныt псевдо-конструкторы тривиальных типов абсолютно ничем не отличается от конструкторов пользовательских типов окромя того что внесены в таблицу изначально а не из кода получены?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
09.04.2020, 23:07
Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
И зачем всю эту мудристику для настолько простых вещей разводить если и по поведению и по концепции оныt псевдо-конструкторы тривиальных типов абсолютно ничем не отличается от конструкторов пользовательских типов окромя того что внесены в таблицу изначально а не из кода получены?
"Мудристика" - это именно ваши попытки натянуть сову конструкторов на глобус не-класс типов, которым конструкторы не нужны.

Вам кажется, что таким образом вы упрощаете спецификацию, подгоняя все типы под одну концепцию. (Как, кстати, это делает и Страуструп в TC++PL). Однако если бы это было так просто, то и авторы стандарта языка тоже с радостью бы это сделали.

Однако это НЕ так просто.

Если волевым усилием подогнать процесс инициализации не-класс типов под "конструкторы", то количество проблем, которые этот шаг создаст, намного превысит количество проблем, которые этот шаг решит. Это намного усложнит спецификацию языка, а не упростит ее, как вы наивно полагаете. Чтобы понимать это, надо обладать намного более широким, чем ваше, пониманием проблем и взаимосвязей, присутствующих в спецификации С++.

Вы и сами видите, как вам приходится вертеться ужом и придумывать все новые и новые исключения из ваших "правил", когда вам приводят все новые и новые контрпримеры, опровергающие ваши "теории". А в рамках всего языка, ваши "теории" со всем этими "исключениями" превратятся в такой ужас, который на порядки ужаснее того, что мы имеем сегодня.
0
 Аватар для Fulcrum_013
2083 / 1575 / 169
Регистрация: 14.12.2014
Сообщений: 13,614
10.04.2020, 00:22
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
А в рамках всего языка, ваши "теории" со всем этими "исключениями" превратятся в такой ужас, который на порядки ужаснее того, что мы имеем сегодня.
В ужас его превращает исключительно необходимость в поддержках гор легаси. А для обеспечения оной простоты достаточно ввести полный запрет на неинициализированные переменные как того требует теория. Тогда все срастется безо всяких исключений. Что собственно говоря в проприентарных компиляторах давно сделали.
0
59 / 49 / 14
Регистрация: 23.02.2016
Сообщений: 433
21.04.2020, 00:17  [ТС]
Croessmah,
Цитата Сообщение от Croessmah Посмотреть сообщение
Выражения Type() - это Explicit type conversion (functional notation).
как понимаю, это пункт 2
If the initializer is a parenthesized single expression, the type conversion expression is equivalent to the corresponding cast expression.
Otherwise, if the type is cv void and the initializer is () or {} (after pack expansion, if any), the expression is a prvalue of the specified type that performs no initialization.
Otherwise, the expression is a prvalue of the specified type whose result object is direct-initialized with the initializer.
If the initializer is a parenthesized optional expression-list, the specified type shall not be an array type.
С английским не силён, но как понял первое предложение
Если инициализатор является одиночным выражением в скобках, выражение преобразования типа эквивалентно соответствующему выражению приведения. то есть в T() никакого выражения в скобках нет, а если бы было, то как понял T(int) равносильно (T)int было бы, т.е. T() не этот случай.
Второе не смог адекватно перевести и понять, смутило cv void, что такое cv непонятно.
Далее третье
В противном случае выражение представляет собой значение указанного типа, чей результирующий объект получается при помощи direct-initialization с помощью инициализатора. т.е. это как раз случай T().
И последнее предложение тоже не понял.

Цитата Сообщение от Croessmah Посмотреть сообщение
а можете перевести начало 17.6 и правило 17.6.1
Otherwise, if the destination type is a (possibly cv-qualified) class type:

(17.6.1)
If the initializer expression is a prvalue and the cv-unqualified version of the source type is the same class as the class of the destination, the initializer expression is used to initialize the destination object.
[ Example: T x = T(T(T())); calls the T default constructor to initialize x.
— end example
]
хотелось бы понять, чем это правило отличается от T().

Добавлено через 10 минут
Оказывается и в js не всё объекты, раздел Бонус: не все является объектами https://medium.com/devschacht/... 591ab15bef
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
21.04.2020, 01:05
Цитата Сообщение от Timurs Посмотреть сообщение
Далее третье
В противном случае выражение представляет собой значение указанного типа, чей результирующий объект получается при помощи direct-initialization с помощью инициализатора. т.е. это как раз случай T().
Именно это "третье" и относится к нашему случаю.

(Обратите внимание, как стандарт языка постоянно в таких случаях использует термин инициализация, а не "конструкция" и не упоминает никаких "конструкторов". Инициализация - имен правильный термин в таких случаях. Это существенно более широкое и универсальное понятие, покрывающее все типы данных. Инициализация вызовом конструктора - один из частных видов инициализации, применимый только к классам)

Цитата Сообщение от Timurs Посмотреть сообщение
хотелось бы понять, чем это правило отличается от T().
Что значит "отличается"? Не "отличается", а "входит в".

Вы как раз и процитировали кусочек описания процесса direct-initialization, на который ссылалось предыдущее правило. Однако вы выдрали только кусочек, который относится только к инициализации класс-типов ("Otherwise, if the destination type is a (possibly cv-qualified) class type:...")
1
59 / 49 / 14
Регистрация: 23.02.2016
Сообщений: 433
21.04.2020, 01:43  [ТС]
TheCalligrapher, трудно не согласиться)

Добавлено через 8 минут
TheCalligrapher, а не подскажите где тут https://vk.com/doc247540843_45... ad8289af10 правило 17.6 найти ?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
21.04.2020, 01:52
Цитата Сообщение от Timurs Посмотреть сообщение
а не подскажите где тут https://vk.com/doc247540843_45... ad8289af10 правило 17.6 найти ?
В старой нумерации инициализация описывается в 8.5. Данные правила: 8.5/17.
1
59 / 49 / 14
Регистрация: 23.02.2016
Сообщений: 433
21.04.2020, 03:43  [ТС]
TheCalligrapher, спасибо!
0
248 / 70 / 9
Регистрация: 22.07.2018
Сообщений: 321
18.06.2020, 12:45
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Недетерминированное значение не является стабильным.
Цитата Сообщение от https://timsong-cpp.github.io/cppwp/n4659/dcl.init#def:indeterminate_value
When storage for an object with automatic or dynamic storage duration is obtained, the object has an indeterminate value, and if no initialization is performed for the object, that object retains an indeterminate value until that value is replaced ([expr.ass]).
Специально выделил жирным.

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Недетерминированное значение не является стабильным.
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
В языке С++ неинициализированная переменная содержит indeterminate value, доступ к которому в общем случае приводит к неопределенному поведению. В частных случаях, когда доступ не приводит к неопределенному поведению (unsigned char переменные), значение не является стабильным
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Повторяю в сотый раз: языки С и С++ не гарантируют стабильности недетерминированного значения.
К этому как нельзя кстати подойдут слова самого же автора этих домыслов:
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
От того, что вы будете непрерывно повторять ваши домыслы, они не станут фактами.

Цитата Сообщение от Fulcrum_013 Посмотреть сообщение
Существование же ссылки на уничтоженный объект - уже само по себе UB.
Почему?


Цитата Сообщение от TheCalligrapher Посмотреть сообщение
value-lifetime
Это какая-то отсебятина вроде существования конструторов у int-а?

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
C++ DR (http://www.open-std.org/jtc1/s... n3714.html) ясно говорит "The value may be different each time the lvalue-to-rvalue conversion is applied to the object."
Ненормативная сноска¹ (!), выпиленная 6 лет назад (!!) это, конечно, аргументный аргумент.

1) Интересно, не нарочно ли "Footnote: " не процитировано?
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
18.06.2020, 13:07
Цитата Сообщение от argcargv Посмотреть сообщение
Специально выделил жирным.
И? Что мы должны увидеть в этих "выделенных жирным" словах? Гарантию стабильности indeterminate value? Нет там ее.

Смотреть вам надо сюда http://eel.is/c++draft/basic.indet#2. Специально для вас выделю жирным: "If an indeterminate value is produced by an evaluation, the behavior is undefined except in the following cases:"

Я надеюсь, вы понимаете, что доступ к значению переменной делается именно через evaluation. Дальше объяснять, что такое undefined behavior, или уже все понятно стало?

Цель этой части спецификации - та же что и авторов стандарта С - ослабить требования к неинициализированным значениям unsigned char и сохранить undefined behavior для всех остальных типов, включая т.наз. "Itanium clause", о которой вы можете почитать здесь: https://stackoverflow.com/ques... d-ia64-nat

Я на всякий случай повторю для вас ("отсебятиной"): чтение indeterminate value в С++ (как и в С) является неопределенным поведением, за исключением ряда специально оговоренных "байтовых" случаев.

Цитата Сообщение от argcargv Посмотреть сообщение
К этому как нельзя кстати подойдут слова самого же автора этих домыслов:
Участники форума удивленно переглянулись и пожали плечами.

Цитата Сообщение от argcargv Посмотреть сообщение
Это какая-то отсебятина вроде существования конструторов у int-а?
Не совсем понял, о каком "существовании конструторов у int-а" идет речь и к чему это здесь. (Участники форума еще раз удивленно переглянулись и пожали плечами.)

Я, кажется, довольно понятно объяснил, что такое value-lifetime. Вы что-то не поняли из моего объяснения? Если у вас есть вопросы - задавайте их.

И все мои объяснения здесь написаны мною самим, т.е. являются, как вы эмоционально выразились, "отсебятиной". Но это та самая "отсебятина", благодаря которой вы лично, наконец, чему-то учитесь. Ради этой отсебятины вы сюда и пришли.

Цитата Сообщение от argcargv Посмотреть сообщение
Ненормативная сноска¹ (!), выпиленная 6 лет назад (!!) это, конечно, аргументный аргумент.
1) Интересно, не нарочно ли "Footnote: " не процитировано?
Я боюсь, что нам придется снова удивленно переглянуться и пожать плечами. Вы сейчас о чем вообще?
0
248 / 70 / 9
Регистрация: 22.07.2018
Сообщений: 321
18.06.2020, 13:25
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
В DR#451 для С, посвященному именно нестабильности indeterminate values
Цитата Сообщение от DR451
an uninitialized value ... can appear to change its value
"Can appear to change its value" и "changes its value" это как бы две большие разницы. Так что:
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Тут мы можем только молча удивленно переглянуться всем форумом и развести руками...
... и послать TheCalligrapher-а учить английский.

Добавлено через 6 минут
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Смотреть вам надо сюда http://eel.is/c++draft/basic.indet#2. Специально для вас выделю жирным: "If an indeterminate value is produced by an evaluation, the behavior is undefined except in the following cases:"
И? Что мы должны увидеть в этих "выделенных жирным" словах? Гарантию нестабильности indeterminate value? Нет там ее.

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Я боюсь, что нам придется снова удивленно переглянуться и пожать плечами. Вы сейчас о чем вообще?
Забавно ты прикидываешься шлангом, хотя очевидно, что ты ошибся.

Добавлено через 7 минут
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Дальше объяснять, что такое undefined behavior, или уже все понятно стало?
Это тебе нужно объяснять, что такое undefined behavior, а то ты думаешь, что какими-то примерами можно доказать нестабильность indeterminate value, напоминая персонажа известного анекдота про отрывание таракану лапок.
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
18.06.2020, 13:28
Цитата Сообщение от argcargv Посмотреть сообщение
"Can appear to change its value" и "changes its value" это как бы две большие разницы. Так что:
Это у вас по-прежнему от непонимания сути. У indeterminate value вообще нет конкретного значения и понятие "changes its value" к нему неприменимо в принципе, пока оно остается indeterminate.

А если "пионэр" вздумает ставить свои "пионэрские" эксперименты с indeterminate value, то ему, "пионэру", может показаться что значение меняется безо всякой на то причины. Вот откуда там взялось слово "appear". Оно может "appear to change its value" с точки зрения наивного наблюдателя.

Цитата Сообщение от argcargv Посмотреть сообщение
... и послать TheCalligrapher-а учить английский.
Какой слабенький троллинг...

Цитата Сообщение от argcargv Посмотреть сообщение
Забавно ты прикидываешься шлангом, хотя очевидно, что ты ошибся.

Это тебе нужно объяснять, что такое undefined behavior, а то ты думаешь, что какими-то примерами можно доказать нестабильность indeterminate value, напоминая персонажа известного анекдота про отрывание таракану лапок.
Глупо и смешно. Аргументов больше нет, пошла "пионэрская" болтовня. Как тонок все таки налет цивилизации у некоторых индивидуумов. Не умеют проигрывать совершенно

Я, кстати, народ, даже сам удивился тому, что тема закрылась так легко через UB. Думал, что в C++17 и позже придется копать намного глубже. А оно на самом деле по-прежнему так же просто, как и в С. Что, в приниципе, и неудивительно.
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
18.06.2020, 13:39
Цитата Сообщение от argcargv Посмотреть сообщение
и послать TheCalligrapher-а учить английский.
Ы-ы-ы
Смяшно...
0
248 / 70 / 9
Регистрация: 22.07.2018
Сообщений: 321
18.06.2020, 14:08
Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Это у вас по-прежнему от непонимания сути.
О, пошли манёвры)))
Как только на этом форуме не могут ответить на формальные аргументы, начинают втирать про "суть" или про "концептуально".

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
У indeterminate value вообще нет конкретного значения
У значения не может быть значения, оно само конкретное значение. А если ты про то, что в C indeterminate value определено как unspecified value или trap representation, то в C++ это не так. (Да и из ответов комитета C под некоторыми DR создаётся впечатление что и в C indeterminate value это самостоятельное значение, а текущее определение в стандарте это дефект. Но это неточно).

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
А если "пионэр" вздумает ставить свои "пионэрские" эксперименты с indeterminate value, то ему, "пионэру", может показаться что значение меняется безо всякой на то причины
Т.е. "пионэр" признаёт, что его жалкие попытки использовать говнокод с UB для "доказательства", что indeterminate value "меняется" это лишь "пионэрские" эксперименты и что это только кажется, что значение меняется? Ну вот и отлично!

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Какой слабенький троллинг
Так старайся лучше в следующий раз. А то твои многочисленные потуги доказать изменяемость indeterminate value говнокодом с UB превращаются в ничто одной цитатой из стандарта, где ясно написано: объект сохраняет indeterminate value, пока это значение не заменят (и ссылка есть на то, как заменять: с использованием присваивания).

Цитата Сообщение от TheCalligrapher Посмотреть сообщение
Я, кстати, народ, даже сам удивился тому, что тема закрылась так легко через UB
Ага. Пионэр нашёл наконец UB в своих примерах и сам всё понял.

Цитата Сообщение от Croessmah Посмотреть сообщение
Ы-ы-ы
Смяшно...
Так тебе небось пальчик покажи и ты смеяться будешь.
Или это типа намёк на то, что ты знаешь, что там у TheCalligrapher в профайле на SO написано про то где он работает, а я не знаю? Так как мы видим, кто где и/или кем работает это не показатель. "Интересные личности" с дефолтными конструкторами у int тоже, похоже, где-то по специальности работают.
0
Вездепух
Эксперт CЭксперт С++
 Аватар для TheCalligrapher
13210 / 6843 / 1824
Регистрация: 18.10.2014
Сообщений: 17,306
18.06.2020, 14:21
Цитата Сообщение от argcargv Посмотреть сообщение
"Интересные личности" с дефолтными конструкторами у int тоже, похоже, где-то по специальности работают.
Я так понимаю, что вам кто-то где-то накрутил хвост с этими дефолтными конструкторами у int и выместить это все вы решили на нас в этой ветке.

Я понимаю вашу фрустрацию: вы, поспешив, схватились за свою странную жирную цитату, как за копье, и, даже толком не вникнув в ее суть, ворвались сюда верхом на лошадке "наводить порядок". А взамен получили ушат холодной воды и твердую каменную стену совершенно очевидных фактов из стардарта. Которые и сами должны были заметить. Вот и копье оказалось пшиком, и лошадка постепенно сдулась...

От такой резкой перемены вы впали в состояние denial и теперь отчаянно хватаетесь за соломинки... Это нормально. Меня, кстати, особенно умилила соломинка со словом "appear"
0
Неэпический
 Аватар для Croessmah
18149 / 10731 / 2067
Регистрация: 27.09.2012
Сообщений: 27,038
Записей в блоге: 1
18.06.2020, 14:23
Или это типа намёк на то
Это намек на то, что если ты пришел с серьезными намериниями объяснить что-то, и считаешь, что человек ошибочно истолковал какой-то текст на другом языке, имеет смысл не отсылать его учить язык или "выделять жирным", а понятно разъяснить в чем он ошибается.

А что далее? Будешь искать опечатки и ошибки в тексте собеседника?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.06.2020, 14:23

Конструктор и Деструктор (инициализация массивов)
Стал вопрос по инициализации массивов (внутри класса) в конструкторе, но ни методичка, ни гугль явного ответа не дали, возможно массив...

Инициализация массива объектов через конструктор
class some { public: some(){} some(int b):a(b){} void Set(int b){a=b;} private: int a; };

Инициализация массива через конструктор. Вопрос.
Всем привет. Есть скудная вытяжка из методички: &quot;Массив объектов В случае, когда возникает необходимость иметь несколько объектов...

Инициализация полей в структуре через его конструктор
Необходимо инициализировать массив в структуре нулями если будет вызывается конструктор структуры с параметрами, а в случае вызова без...

Инициализация объектов через конструктор(объясните в чём ошибка)
Вот программа! #include &lt;iostream&gt; #include &lt;string&gt; using namespace std; class GradeBook { public: GradeBook(); ...


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

Или воспользуйтесь поиском по форуму:
60
Ответ Создать тему
Новые блоги и статьи
Сезонность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет. Но обычно это 50 лет и более. Наверное, закисление почвы происходит сезонно в средней. . .
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи. Через несколько переработок от PHP кода к C89 (надеюсь, 89). Но довольно запутанно получилось. Код для Linux. Но если убрать time и то, что с ним. . .
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
rest api anylogic - выполнение модели на своём русском сайте
anaschu 02.07.2026
Как подружиться с AnyLogic Cloud API, победить провайдеров и развернуться Java-бэкенд в Docker на бесплатном хостинге: Двухдневный лог борьбы Всем привет! Хочу поделиться свежим (и довольно. . .
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения: - добавлена многоязычность - добавлено снятие скриншотов - добавлено поддержание бафов хождения по воде (для жреца, дк и шамана) - и так, по. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru