Модераторы: bsa

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Что ознаает эта строка??? 
:(
    Опции темы
luser78
Дата 25.1.2010, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 12.1.2010

Репутация: нет
Всего: нет



int ts(int *s) {int y=*s; *s=1; return (y); }

PM MAIL   Вверх
cristaloleg
Дата 25.1.2010, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 15.6.2009
Где: Donetsk

Репутация: нет
Всего: нет



это функция..в неё передаешь указатель на инт присваиваешь ему единицу, и возвращаешь значение указателя.

Это сообщение отредактировал(а) cristaloleg - 25.1.2010, 13:32
PM   Вверх
azesmcar
Дата 25.1.2010, 13:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(luser78 @  25.1.2010,  13:26 Найти цитируемый пост)
int ts(int *s) {int y=*s; *s=1; return (y); }

может стоить сперва почитать книжку по C++?
PM   Вверх
ller
Дата 25.1.2010, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.8.2008
Где: г. Таганрог

Репутация: 2
Всего: 4



cristaloleg, Нет не так. Функция действительно получает указатель
PM MAIL   Вверх
EvilsInterrupt
Дата 25.1.2010, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Executables research
***


Профиль
Группа: Завсегдатай
Сообщений: 1019
Регистрация: 14.7.2007
Где: Железнодорожный, МО, Россия

Репутация: нет
Всего: 9



2 ller :
>>Функция действительно получает указатель 
C фига ли ?

Код

int ts(int *s)
{  int y=*s;
    *s=1;
     return (y);
}


после форматирования сразу видно, что ф-ция из указателя на int , строчкой y= *s (разыменование, берет значение типа int в переменную y , которая тоже типа int ! и именно его потом возвращает, попутно затирает единичкой то что было ранее!!!
PM MAIL WWW ICQ Jabber   Вверх
ller
Дата 25.1.2010, 23:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 325
Регистрация: 4.8.2008
Где: г. Таганрог

Репутация: 2
Всего: 4



EvilsInterrupt, 
>> C фига ли ?
Код

int *s; //Объявление указателя на int....

s - указатель на тип int.
*s - разыменование указателя
PM MAIL   Вверх
TupDub
Дата 26.1.2010, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 21.11.2009

Репутация: нет
Всего: нет



А что означает такая строка :
return s > 0 ? --s : 0;
Что это за знак вопроса ?
И как называются такие конструкции ? Где в инете можно посмотреть, как сделать свой код более красивым с такими вот знаками?

PM   Вверх
andrew_121
Дата 26.1.2010, 12:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33





--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
bsa
Дата 26.1.2010, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



PM   Вверх
Фантом
Дата 26.1.2010, 17:15 (ссылка)  | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 4
Всего: 49



Цитата(TupDub @  26.1.2010,  11:19 Найти цитируемый пост)
Что это за знак вопроса ?
И как называются такие конструкции ? Где в инете можно посмотреть, как сделать свой код более красивым с такими вот знаками?

Ссылку на описание уже дали. А смотреть, "как сделать свой код более красивым", не надо. С точки зрения любых целей, кроме желания выпендриться, использование подобных конструкций просто вредно.
PM   Вверх
andrew_121
Дата 26.1.2010, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Цитата(Фантом @  26.1.2010,  17:15 Найти цитируемый пост)
использование подобных конструкций просто вредно. 

сам придумал? smile 

между if()else и этой инструкцией, огромная разница.


Это сообщение отредактировал(а) andrew_121 - 26.1.2010, 17:22


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
azesmcar
Дата 26.1.2010, 17:20 (ссылка) |  (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 52
Всего: 211



Цитата(Фантом @  26.1.2010,  17:15 Найти цитируемый пост)
С точки зрения любых целей, кроме желания выпендриться, использование подобных конструкций просто вредно. 

Кто это сказал? Тернарный оператор незаменимая вещь в метапрограммировании.
PM   Вверх
andrew_121
Дата 26.1.2010, 17:39 (ссылка) |   (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кодофей
****


Профиль
Группа: Завсегдатай
Сообщений: 3448
Регистрация: 3.1.2008

Репутация: 10
Всего: 33



Фантом, 
вот пример скопированный с википедии.
Код

#include <iostream>
#include <fstream>
#include <string>
 
using namespace std;
 
int main(int argc, char** argv)
{
    string name;
    ofstream fout;
    if (argc > 1 && argv[1])
    {
        name = argv[1];
        fout.open(name.c_str(), ios::out | ios::app);
    }
    ostream& sout = name.empty() ? cout : fout; // <<<<<<<<<
}

как ты это решишь при помощи if () else ? ну есть конечно способ... но если усложнить ситуацию представив что нужна константная ссылка  smile 


--------------------
Удалил аккаунт. Прощайте!
PM MAIL   Вверх
Фантом
Дата 26.1.2010, 17:44 (ссылка)   | (голосов:8) Загрузка ... Загрузка ... Быстрая цитата Цитата


Вы это прекратите!
***


Профиль
Группа: Участник Клуба
Сообщений: 1516
Регистрация: 23.3.2008

Репутация: 4
Всего: 49



Цитата(andrew_121 @  26.1.2010,  17:19 Найти цитируемый пост)
сам придумал?

Цитата(azesmcar @  26.1.2010,  17:20 Найти цитируемый пост)
Кто это сказал?

Я это сказал. smile 

Цитата(azesmcar @  26.1.2010,  17:20 Найти цитируемый пост)
Тернарный оператор незаменимая вещь в метапрограммировании. 

Угу. Только код при его использовании редко когда получается читаемым. И уж в любом случае не надо его таким образом "украшать".


PM   Вверх
bsa
Дата 26.1.2010, 17:51 (ссылка) |   (голосов:4) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 9185
Регистрация: 6.4.2006
Где: Москва, Россия

Репутация: 85
Всего: 196



Цитата(Фантом @  26.1.2010,  17:44 Найти цитируемый пост)
Только код при его использовании редко когда получается читаемым.
Зависит от программиста:
Код
template<class T>
T min(T x, T y)
{
   return (x < y) ? x : y;
}
Цитата(Фантом @  26.1.2010,  17:44 Найти цитируемый пост)
И уж в любом случае не надо его таким образом "украшать".
Согласен на 100%.

PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0573 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.