| 
			| 
					
						| lapulya 
								Молодой специалист    Offline | 
								|  | «  : 08-09-2004 11:39 »  |  | 
 
 нарвался тут на такой код
 typedef std::string String;
 void f(String)
 {
 ...
 }
 
 void main()
 {
 f("bubu");
 }
 
 не понимаю, почему при вызове f создается ОДИН объект типа String,
 насколько я понимаю должно создаваться два...
 
 один когда из "bubu" создается String, поскольку сигнатура функции требует в параметре тип String
 
 второй когда происходит передача параметра в функцию по значению
 
 может какая оптимизация или это предусмотрено стандартом
 |  
						| 
								|  |  
								|  |  Записан | 
 
 С уважением Lapulya |  |  | 
	| 
			| 
					
						| Serega 
								Гость
 | 
								|  | « Ответ #1 : 08-09-2004 12:41 »  |  | 
 
 Если бы ты передавал обьект типа String, тогда была бы создана копия, и было бы два обьекта StringА так есть строка char* и обьект String
 |  
						| 
								|  |  
								|  |  Записан | 
 |  |  | 
	| 
			| 
					
						| lapulya 
								Молодой специалист    Offline | 
								|  | « Ответ #2 : 08-09-2004 12:50 »  |  | 
 
 не понял я твой ответ, но хочу уточнить ПОЧЕМУ не создается объект типа String ДО входа в функцию, веть сигнатура функции такова что хочет на входе объект типа String а не const char *, меня интересует именно почему так происходит, а не ответ на то происходит или нет (я и сам в дебаге прекрасно вижу что объект НЕ создается) |  
						| 
								|  |  
								|  |  Записан | 
 
 С уважением Lapulya |  |  | 
	| 
			| 
					
						| npak | 
								|  | « Ответ #3 : 08-09-2004 13:33 »  |  | 
 
 lapulya, см. стандарт, раздел 5.2.2, 4-й абзац During the intitialization of a parameter, an implementation may avoid the construction of extra temporaries by combining the conversion on the associated argument and/or the construction of temporaies with the initialization of the parameter   Подходит цитата? |  
						| 
								|  |  
								|  |  Записан | 
 
 |  |  | 
	| 
			| 
					
						| lapulya 
								Молодой специалист    Offline | 
								|  | « Ответ #4 : 08-09-2004 14:40 »  |  | 
 
 спасибо npak, именно ее я и жаждал... |  
						| 
								|  |  
								|  |  Записан | 
 
 С уважением Lapulya |  |  | 
	| 
			| 
					
						| Антон (LogRus) | 
								|  | « Ответ #5 : 08-09-2004 14:52 »  |  | 
 
 дадут мне в морду за такой вопрос. Но все же дате линк на стандарт. :? |  
						| 
								|  |  
								|  |  Записан | 
 
 Странно всё это.... |  |  | 
	| 
			| 
					
						| npak | 
								|  | « Ответ #6 : 08-09-2004 16:14 »  |  | 
 
 LogRus, ко мне стандарт добирался тайными тропами   Вроде как он лежит на некоторых библиотеках, но линков у меня нет   |  
						| 
								|  |  
								|  |  Записан | 
 
 |  |  | 
	| 
			| 
					
						| Антон (LogRus) | 
								|  | « Ответ #7 : 08-09-2004 16:56 »  |  | 
 
 npak, плохо! ладно будем искать.   |  
						| 
								|  |  
								|  |  Записан | 
 
 Странно всё это.... |  |  | 
	| 
			| 
					
						| MOPO3 
								Ай да дэдушка! Вах...Команда клуба    Offline 
								Пол:   
								Холадна аднака!
								
								
								
								
								
								   | 
								|  | « Ответ #8 : 08-09-2004 17:53 »  |  | 
 
 LogRus, может это подойдёт ? ISO Draft Standart Working Papers (December 1996) [FTP # 1]  [FTP # 2]     - Последняя рабочая версия стандарта. Несколько отличается от утвержденной версии, но все равно весьма полезный документ. В отличии от утвержденного стандарта рапространяется бесплатно   |  
						| 
								|  |  
								|  |  Записан | 
 
 MCP, MCAD, MCTS:Win, MCTS:Web |  |  | 
	| 
			| 
					
						| MOPO3 
								Ай да дэдушка! Вах...Команда клуба    Offline 
								Пол:   
								Холадна аднака!
								
								
								
								
								
								   | 
								|  | « Ответ #9 : 08-09-2004 18:00 »  |  | 
 
 И ещё вот сюда  можно сходить. |  
						| 
								|  |  
								|  |  Записан | 
 
 MCP, MCAD, MCTS:Win, MCTS:Web |  |  | 
	| 
			| 
					
						| Антон (LogRus) | 
								|  | « Ответ #10 : 08-09-2004 18:02 »  |  | 
 
 чего то работают ссылки   |  
						| 
								|  |  
								|  |  Записан | 
 
 Странно всё это.... |  |  | 
	| 
			| 
					
						| MOPO3 
								Ай да дэдушка! Вах...Команда клуба    Offline 
								Пол:   
								Холадна аднака!
								
								
								
								
								
								   | 
								|  | « Ответ #11 : 08-09-2004 18:06 »  |  | 
 
 LogRus, сорри, я не проверял    |  
						| 
								|  |  
								|  |  Записан | 
 
 MCP, MCAD, MCTS:Win, MCTS:Web |  |  | 
	|  | 
	| 
			| 
					
						| MOPO3 
								Ай да дэдушка! Вах...Команда клуба    Offline 
								Пол:   
								Холадна аднака!
								
								
								
								
								
								   | 
								|  | « Ответ #13 : 09-09-2004 06:30 »  |  | 
 
 LogRus, мдас, бабло непонятно за что хотят   |  
						| 
								|  |  
								|  |  Записан | 
 
 MCP, MCAD, MCTS:Win, MCTS:Web |  |  | 
	| 
			| 
					
						| npak | 
								|  | « Ответ #14 :  09-09-2004 10:41 »   |  | 
 
 разработка стандартов -- весьма хлопотное и дорогое дело. 1. В рабочем комитете люди за деньги работают,
 2. Нужны деньги на орг. расходы -- проведение встреч рабочей группы, подготовки материалов, прочие административные хлопоты
 3. Оплата публикаций, издания стандарта
 
 Ну и вообще денег много не бывает.  Хотя бы за тем, чтобы
 4. оплачивать недвижимость в Швейцарии, где располагается штаб-квартира ISO
 
 На свете не так много организаций, которые делают хорошо выверенные стандарты и раздают их за так.
 
 В первую очередь, IETF со своими RFC.
 Есть конторы в Европе, которые полностью финансируются Евросоюзом и могут себе позволить раздавать Интеллектуальную Собственность бесплатно.
 Есть W3C, финансируемый Microsoft.  Он тоже раздаёт свои стандарты и рекомендации за так.
 |  
						| 
								|  |  
								|  |  Записан | 
 
 |  |  | 
	|  |