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

Явное преобразование типов - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ как count endl заменить на printf ? http://www.cyberforum.ru/cpp-beginners/thread608027.html
Всем добрый вечер , есть одна программа , там встречаются строчки . Собственно вопрос , как будут выглядеть эти строчки с использованием printf . cout << "х" << i << "=" << xn << endl; i++; cout << "x" << i << "=" << xk << endl; i++; }
C++ Не могу разобраться в формуле Пишу программу про шифр Виженера http://*******/oiwOo . codestr = (str + key) % 26 - набросок формулы для шифрования. str = (codestr - key + 26) % 26 - дешифрование. На данном форуме нашел похожую тему http://www.cyberforum.ru/c-beginners/thread276119.html с такими формулами: codeStr = (str + key - 2*'a') % 26 + 'a'; str = (codeStr - key + 26) % 26 + 'a'; Не могу понять использование -2*'a'... http://www.cyberforum.ru/cpp-beginners/thread608000.html
C++ Неинициализированные переменные
пишет типа не инициализированы d1 и d2,хотя они объявлены#include "iostream" using namespace std; struct Distance { int feet; float inches; }; int main() {
C++ MSVS 2010 Hello world
Скачал Vidual Studio 2010 Express, создал проект, скопипастил туда Helloworld. Компиляция завершилась ошибкой. При чем окон с ошибкой я так и не увидел. Неужели в Visual C++ Синтаксис отличный от C++?
C++ Требуется прочитать поочередно цифры из файла http://www.cyberforum.ru/cpp-beginners/thread607910.html
Задача такова. Имеется файл, в котором 3 цифры. Например, 90 90 15. Нужно прочитать эти цифры, присвоить их к a,b и с соответственно, чтобы была возможность дальше использовать эти цифры (например, в качестве данных для построения окружности). Как это сделать на c++ ??
C++ Даны действ числа. вычислить с заданной точностью сумму ряда не компилится. формула правильная, а в программе что то не так... #include<iostream> #define PI 3.14 using namespace std ; #include <cmath> double fsumma (double x, double eps); int main() { double x, s, eps=1.0e-4; подробнее

Показать сообщение отдельно
Jtalk
93 / 79 / 4
Регистрация: 13.05.2011
Сообщений: 279
17.06.2012, 22:59     Явное преобразование типов
Цитата Сообщение от Ksan Посмотреть сообщение
Код C++1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 class CLSObj { void abc(int d){ ... } ... }; int main() { void *p; CLSObj obj; p = (char*)obj; ((CLSObj)(*p)).abc(10); return 0; }
То есть вот так сделать можно? Но почему это "самоубийство"?
К тому же типонебезопасное?
Дело не в void, дело во взятии адреса объекта. Объект нельзя привести к указателю напрямую, адрес объекта можно.

Самоубийство потому что типы не просто так придуманы. Типы позволяют избавиться от многих косяков, связанных с приведением. А так, играясь с указателями, можно в конце концов продублировать переменную/не туда приравнять/не там привести и получить разыменование null и прочие радости. А еще можно на радостях сложить адреса и вообще вылезти за адресное пространство.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru