C++ sexnarod journal ;

DELETED
6/2/2006, 5:00:33 AM
(Roman @ 02.06.2006 - время: 00:53) Не то выводит: "¦ЁштхЄ тёхь!".
Быть такого не может. Компилятор какой? Локаль?
Roman
6/2/2006, 5:06:24 AM
(GregZ @ 02.06.2006 - время: 01:00) (Roman @ 02.06.2006 - время: 00:53) Не то выводит: "¦ЁштхЄ тёхь!".
Быть такого не может. Компилятор какой? Локаль?
Borland Developer Studio 2006, винда ХР с СП2.
DELETED
6/2/2006, 5:11:20 AM
(Roman @ 02.06.2006 - время: 01:06) (GregZ @ 02.06.2006 - время: 01:00) (Roman @ 02.06.2006 - время: 00:53) Не то выводит: "¦ЁштхЄ тёхь!".
Быть такого не может. Компилятор какой? Локаль?
Borland Developer Studio 2006, винда ХР с СП2.
А локаль какая у компилятора? Вывод осуществляете в консоль?
Roman
6/2/2006, 5:13:29 AM
Вывод осуществляете в консоль?
Да.
DELETED
6/2/2006, 5:22:44 AM
Еще раз спрашиваю, какая локаль у компилятора? Как компилятор должен интерпретировать последовательность байтов L"Привет всем!", чтобы перевести их в юникод?

Замени wcout на cout и убери юникод. Что получится?
Roman
6/2/2006, 5:45:44 AM
(GregZ @ 02.06.2006 - время: 01:22) Еще раз спрашиваю, какая локаль у компилятора? Как компилятор должен интерпретировать последовательность байтов L"Привет всем!", чтобы перевести их в юникод?

Замени wcout на cout и убери юникод. Что получится?
Какая локаль не знаю.

Получается 4060cb
DELETED
6/2/2006, 5:58:45 AM
(Roman @ 02.06.2006 - время: 01:45) Получается 4060cb
Юникод не убрал. Убери префик L у текста.
Локаль определяется виндой в региональных стандартах. Язык программ, не поддерживающих юникод должен быть русским.
Roman
6/2/2006, 6:15:39 AM
(GregZ @ 02.06.2006 - время: 01:58) (Roman @ 02.06.2006 - время: 01:45) Получается 4060cb
Юникод не убрал. Убери префик L у текста.
Локаль определяется виндой в региональных стандартах. Язык программ, не поддерживающих юникод должен быть русским.
Локаль русская стоит.
L убрал - всё тоже самое. ("¦ЁштхЄ тёхь!")
DELETED
6/7/2006, 1:36:05 AM
(Roman @ 02.06.2006 - время: 02:15) (GregZ @ 02.06.2006 - время: 01:58) (Roman @ 02.06.2006 - время: 01:45) Получается 4060cb
Юникод не убрал. Убери префик L у текста.
Локаль определяется виндой в региональных стандартах. Язык программ, не поддерживающих юникод должен быть русским.
Локаль русская стоит.
L убрал - всё тоже самое. ("¦ЁштхЄ тёхь!")
Не знаю, что сказать. Компилятора Borland Developer Studio 2006 под рукой нет, проверить не могу.
Nag_X
6/7/2006, 1:53:28 AM

#include <iostream>

int main()
{
std::wcout.imbue(std::locale(".866"));
std::wcout << L"Привет всем!" << std::endl;
}
При попытке компиляции с выводом в консоль(Builder 5), винда выдала сообщение о недостатке виртуальной памяти.
DELETED
6/7/2006, 2:08:24 AM
Народ, могу посоветовать только сказать большое спасибо фирме Borland за отличные компиляторы.
Приведеный мною код абсолютно корректен и соответствует стандарту.
Roman
6/7/2006, 2:31:47 AM
При попытке компиляции с выводом в консоль(Builder 5), винда выдала сообщение о недостатке виртуальной памяти.
Ну такого я никак не ожидал.
Но меня больше беспокоит то, что при попытке установить Интербейс я увидел синий экран (при каждой попытке). Прямо в начале установки... Называется скачал новый Интербейс...
DELETED
6/7/2006, 3:12:45 AM
Сегодня на работе вышел злободневный спор на тему выбора обертки для указателей, возвращаемых фабричными функциями. В результате сошлись только в одном - "сырые" указатели возвращать нельзя - чревато утечкой ресурсов. Что вполне естественно.

Что касается оберток, одни убеждали использовать std::auto_ptr, уповая на ее наличие в стандартной библиотеке, быстроту работы и ключевую особенность копирования использующую "move semantics" называемую также "передачей владения". Другие предлагали использовать boost::shared_ptr или std::tr1::shared_ptr. Их аргументами являлись универсализм, возможность безболезненного "разделения" указателя несколькими сущностями одновременно, и поддержку собственной функции освобождения ресурса.

У обеих оберток есть свои неисправимые преимущества и несомненные недостатки :)
Что по этому вопросу скажет народ?
DELETED
6/9/2006, 2:06:11 AM
(GregZ @ 06.06.2006 - время: 23:12)Что по этому вопросу скажет народ?
Народ, как всегда, безмолствует...

Будто сам с собой на форуме разговариваю. Так и тронуться недолго.
Были отличные бойцы: JeyLo, tetro, AngeLR. Только пропали...
DELETED
6/14/2006, 5:43:42 PM
(GregZ @ 08.06.2006 - время: 22:06) Народ, как всегда, безмолствует...

Народ еле думает. Жара... :) И самолеты крыльями машут...

Мы STL не знаем, у нас свойная кросспроджект шаред либрари есть. В ней есть что-то типа auto_ptr. wink.gif На чистые указатели с операциями выделения или освобождения памяти запрет.
tetro
6/15/2006, 7:04:59 PM
Гриша, спасибо за комплемент!

Если честно, то по хорошему у меня по программированию только докторская степень (без предыдущих wink.gif). Я - алгоритмист (причем более в непрерывных вещах чем в дискретных), т.е. да имплементирую много и активно, но обычно моя цель это эффективность с наименьшими потерями а не всяческие ОО красоты wink.gif
Т.е. за перво-принципами это ко мне, а с какой стороны открывают стандарт - это вопрос отдельный...

А разговариваю сам с собой я столько лет сколько себя помню wink.gif
DELETED
6/25/2006, 3:09:16 AM
Сегодня наконец нашел в электронном виде (DjVu) книжку "Дизайн и эволюция C++" Бьярна Страуструпа на русском языке Её бумажная реинкарнация в моей библиотеке изрядно истрепалась и представляет собой просто жалкое зрелище :)

PS кому интересно, лежит у меня на FTP здесь
niktuba
7/13/2006, 3:12:59 AM
Народ, я тут попытался найти в Visual C++ 6.0 функцию, которая позволяет выводить на экран текст в вертикальном направлении - надо к оси Y подпись присобачить. Среди извратов с API TextOut, TabbedTextOut, DrawText, DrawTextEx, к удивлению своему, не обнаружил ни одного, позволяющего менять направление текста. Есть ли простые, не использующие Microsoft Foundation Classes, коды, показывающие, как проще всего напечатать
вертикальный текст?
DELETED
7/13/2006, 2:07:35 PM
(niktuba @ 12.07.2006 - время: 23:12)Народ, я тут попытался найти в Visual C++ 6.0 функцию, которая позволяет выводить на экран текст в вертикальном направлении - надо к оси Y подпись присобачить. Среди извратов с API TextOut, TabbedTextOut, DrawText, DrawTextEx, к удивлению своему, не обнаружил ни одного, позволяющего менять направление текста. Есть ли простые, не использующие Microsoft Foundation Classes, коды, показывающие, как проще всего напечатать
вертикальный текст?
Не там ищешь. Вывести вертикальный текст способна любая из приведенных тобой функций.
Они выводят текст определенным шрифтом. Все что тебе надо - создать его вертикальным.
Обрати внимание на четвертый параметр (orientation) функции CreateFont. Он позволяет задавать угол отклонения базовой линии выводимых символом от оси абсцисс.
niktuba
7/15/2006, 12:04:58 AM
(GregZ @ 13.07.2006 - время: 10:07)Не там ищешь. Вывести вертикальный текст способна любая из приведенных тобой функций.
Они выводят текст определенным шрифтом. Все что тебе надо - создать его вертикальным.
Обрати внимание на четвертый параметр (orientation) функции CreateFont. Он позволяет задавать угол отклонения базовой линии выводимых символом от оси абсцисс.
Ну как же не там? Тута - на Sxne licklips.gif Если без шуток, то огромное спасибо. Я бы, может, и сам нашел, но потратив много времени, которого у меня сейчас нет совсем. В Португалии конец июля - как конец декабря в пристнопамятном СССР: надо доделать все, в августе португалы сваливают в отпуск и никого не найти. Как закончу возиться с бумагами и железками - пренепременно попробую CreateFont... 0096.gif