LINUX.ORG.RU

[c++] Standart Feature request

 


0

0

Хочу, чтобы можно было типы объявлять так же, как члены и функции со спецификаторами доступа в классах. Скажем, это удобно, если нам вдруг нужна куча флагов с разными именами. Например:

int
{
a;
b = 5;
};

string
{
return_argument();
string dest_string;
};

unsigned short int
{};

Нравится ли вам идея и куда слать хотелку?



Последнее исправление: ShTH (всего исправлений: 2)

>Нравится ли вам идея и куда слать хотелку?

Я не понял, что ты хочешь.

golodranez ★★★★
()
int a, 
    b = 5;

Чего тебе ещё надо? По рукам бить за такой код в продакшене надо только.

Begemoth ★★★★★
()

Скажем, это удобно, если нам вдруг нужна куча флагов с разными именами.

А ты точно перечисления осилил?

Begemoth ★★★★★
()

так и не понял, что ты хочешь.

anonymous
()

Не очень понятно, чего ты хочешь.

куда слать хотелку?

А никуда — её всё равно не примут в стандарт C++.

vkos ★★
()
Ответ на: комментарий от Begemoth

>Чего тебе ещё надо? По рукам бить за такой код в продакшене надо только.

Тьфу ты, тупанул) Но с функциями такое не прокатит.

ShTH
() автор топика
Ответ на: комментарий от Begemoth

Мда, не очень обдумал прежде чем заслать сюда)

ShTH
() автор топика
string 
{ 
return_argument(); 
string dest_string; 
}; 

А это что тогда? string string dest_string? В задницу такие реквесты.

lester_dev ★★★★★
()
Ответ на: комментарий от ShTH

Но с функциями такое не прокатит.

А ты представляешь как код выглядел бы? Читаемость была бы хуже чем с неявным int в C.

Begemoth ★★★★★
()
Ответ на: комментарий от ShTH

1. Твои хотелки никому не нужны

2. Язык освой сначала и школу закончи

с функциями такое не прокатит

3. Что конкретно, зачем, кому это нужно??

yoghurt ★★★★★
()

Вот хорошие примеры вбросовфичреквестов, учись, сынок

Хочу, чтобы

  • типы были объектами
  • свитч работал со строками
  • множественная диспетчеризация была из коробки
yoghurt ★★★★★
()
Ответ на: комментарий от lester_dev

>А это что тогда? string string dest_string?


string второй раз - машинально)

ShTH
() автор топика
Ответ на: комментарий от Begemoth

>А ты представляешь как код выглядел бы? Читаемость была бы хуже чем с неявным int в C.


Аргументы? Чем же хуже она бы была? Конечно, если сделать это для прототипов.

ShTH
() автор топика

> Нравится ли вам идея и куда слать хотелку?

да ты школьник! да, C++ в этом возрасте — это круто!

CL-USER
()
Ответ на: комментарий от ShTH

Тем, что отдаляет тип возвращаемого значения от остальной части прототипа. В добавок не поддерживает новый стиль объявления функций (из C++0x).

Begemoth ★★★★★
()

и ты ещё аргументируешь применимость C++ и ООП? не зная, очевидно, ни того ни другого? :)

jtootf ★★★★★
()
Ответ на: комментарий от mannaz

>> А что плохого в паскалевском with?

Не нравился он мне :)

У него есть ровно одно полезное применение: инициализация нескольких полей структуры подряд.

Led ★★★☆☆
()
Ответ на: комментарий от Cancellor

>А что плохого в паскалевском with?

то что он паскалевский

//K.O.

если бы он был в С++ все приплюснутые выдавали бы это за мега-фичу.

mono ★★★★★
()
Ответ на: комментарий от Led

Для инициализации есть compound literals и конструкторы.

Begemoth ★★★★★
()
Ответ на: комментарий от mono

> если бы он был в С++ все приплюснутые выдавали бы это за мега-фичу

повзрослей

mannaz
()
Ответ на: комментарий от mono

Вообще в С++ то же самое делается очень просто

class MyClass {
public:
   MyClass& setA (int a) {
      /* do smt ... */
     return *this;
   }
   MyClass& setB (int b) {
      /* do smt ... */
     return *this;
   }
   MyClass& setC (int c) {
      /* do smt ... */
     return *this;
   }
};

и потом

MyClass myObject;
myObject
   .setA (12)
   .setB (33)
   .setC (80);

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

тут ты сам должен обеспечивать подобную функциональность, а в паскале оператор :)

mono ★★★★★
()
(defmacro let-with-types ((&rest bindings) &body body)
  (loop for (type . forms) in bindings
        nconc (mapcar
                (lambda (x)
                  `(type ,type ,(if (atom x) x (car x))))
                forms) into types
        append forms into let-bindings
        finally (return `(let ,let-bindings
                           (declare ,@types)
                           ,@body))))
Love5an
()

Да, идея дуратская. Не нужно.

ShTH
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.