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

С + + и Visual C + + и чем они отличаются? Есть ли их изучение взаимно дополняющее или это совсем разные языки? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Где деструкторы? http://www.cyberforum.ru/cpp-beginners/thread608047.html
Ребят сижу разбираю код на С++,не могу понять где диструктор тут.. #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "math.h" #pragma package(smart_init) #pragma resource "*.dfm" //---------------------------------------------------------------------------
C++ Явное преобразование типов class CLSObj { void abc(int d){ ... } ... }; int main() { char *p; CLSObj obj; http://www.cyberforum.ru/cpp-beginners/thread608044.html
как count endl заменить на printf ? C++
Всем добрый вечер , есть одна программа , там встречаются строчки . Собственно вопрос , как будут выглядеть эти строчки с использованием 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'...
C++ Неинициализированные переменные http://www.cyberforum.ru/cpp-beginners/thread607990.html
пишет типа не инициализированы 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++? подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
28.06.2012, 10:49     С + + и Visual C + + и чем они отличаются? Есть ли их изучение взаимно дополняющее или это совсем разные языки?
Цитата Сообщение от Evg Посмотреть сообщение
Скажем так, что основные пояснения техники передачи параметров делаются на примере intel'овских компиляторов, где идёт передача через стек (видимо), а потому у людей передача параметров однозначно ассоциируется со стеком. Поправь меня, если я не прав.
На самом деле на любых более-менее приличных машинах с адэкватным количеством регистров часть параметров передаётся на регистрах. Из понятных соображений скорости. Передавать данные на регистрах быстрее, чем через память. Для большинства функций в реальной жизни параметров немного, а потому статистически значимая часть вызовов будет работать исключительно с передачей параметров на регистрах.
О передачей аргументов через регистры, я, естественно осведомлен, но в случае с эллипсисом, я не вижу возможности складывать аргументы куда-нибудь кроме как на стек, потому что если часть (все) будет передана через регистры, то как будет работать va_arg, я себе слабо представляю.
Цитата Сообщение от Evg Посмотреть сообщение
В "старых" программных соглашениях обычно все структуры передаются по косвенности независимо от размера. Поэтому в случае sparc v8 если передавать структуру с указателем (из нашего примера), то реально в регистре или в памяти будет указатель, но не на строку, а на копию структуры. В "новых" программных соглашениях (abi64 sparc v9, ia-64) обычно сделано более гибко: короткие структуры передаются по значению, а длинные - по косвенности.
Да, теперь я понял. va_arg "попросив" char* получит указатель на структуру.
 
Текущее время: 17:27. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru