впервые столкнулся с ключевым словом typename
прочитать что это и зачем можно здесь:
http://alenacpp.blogspot.com/2006/08/typename.html
а я столкнулся при портировании проекта из MS VC++ 2008 под Linux g++ 4.4.5
пример:
template
void function(T1& src, unsigned int n)
{
...
std::map ::iterator I;
...
}
VC++ всем доволен, а вот g++ на эту строчку ругнулся
error: expected ‘;’ before ‘I’
получается компилятор не может понять что от него хотят, т.о. для исправления ошибки необходимо в начале строчки прописать typename:
typename std::map ::iterator I;
и всё в шоколаде
аналогично решается ошибка в строке:
for(T1::iterator I = src.begin(); I != src.end(); ++I) {
добавляем
for(typename T1::iterator I = src.begin(); I != src.end(); ++I) {
такие дела.
Вывод:
typename нужен для облегчения задачи компилятору при парсинге различных загадочных выражений.
Ключевое слово typename позволяет разрешить недоразумения, явно сказав компилятору, где речь идет о типе.
разработка
C++, g++, typename
function sendToTwitter (obj, sText, sTag){
var sTwit = sText.replace(/(\s)+/g, '+');
var hashTag = '+%23'+sTag;
location.href = 'http://twitter.com/home/?status='+sTwit+hashTag;
return false;
}
function sendToFacebook (obj, sUrl){
location.href = 'http://www.facebook.com/sharer.php?u='+sUrl;
return false;
}
function sendToVkontakte (obj, sUrl){
location.href = 'http://vkontakte.ru/share.php?url='+sUrl;
return false;
}
и, соответственно, html-код:
<a title=»Добавить в Twitter» href=»http://twitter.com/home?status=RT @idea2ru Книга: http://idea2.ru/blog/clever_mind/708.html» target=»_blank» rel=»nofollow»></a>
<a title=»Добавить в Facebook» href=»http://www.facebook.com/sharer.php?u=http://idea2.ru/blog/clever_mind/708.html» target=»blank» rel=»nofollow»></a>
<a title=»Добавить в ВКонтакте» href=»http://vkontakte.ru/share.php?url=http://idea2.ru/blog/clever_mind/708.html» target=»blank» rel=»nofollow»></a>
разработка
facebook, javascript, twitter, vkontakte
function sendToBuzz(obj, sText, sUrl){
location.href = 'http://www.google.com/reader/link?url='+sUrl+'&title='+sText+'&srcURL='+DIR_WEB_ROOT;
return false;
}
или html-код
<a title=»в Buzz» rel=»nofollow» href=»http://www.google.com/reader/link?url=http://idea2.ru/blog/clever_mind/708.html&title=Книга&srcURL=http://idea2.ru» target=»_blank» onfocus=»blur();»><img src=»buzz_it.png» alt=»" /></a>
разработка
Buzz, google, javascript
//Don't supply a map to GDirections()
var direction = new GDirections();
//Make sure {getPolyline:true} is given to the load function
direction.load("here to there", {getPolyline:true});
GEvent.addListener(direction,
"load",
function(){ map.addOverlay(direction.getPolyline()); }
);
разработка
GDirections, getPolyline, google, javascript, Map, маркер. GMap
function var_dump(arr,level) {
var dumped_text = "";
if(!level) level = 0;
//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j<level+1;j++) level_padding += " ";
if(typeof(arr) == 'object') { //Array/Hashes/Objects
for(var item in arr) {
var value = arr[item];
if(typeof(value) == 'object') {
dumped_text += level_padding + "'" + item + "' ...\n";
dumped_text += var_dump(value,level+1);
} else {
dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
}
}
} else { //Stings/Chars/Numbers etc.
dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;
}
разработка
javascript, var_dump
Используя javascript geolocation framework можно (после подтверждения со стороны пользователя) приблизительно определить положение пользователя. (IE эту возможность не поддерживает)
читать подробности
разработка
geolocation, javascript
везде предлагается использовать функцию DATEDIFF()
но когда мне потребовалось высчитать разницу между датами в днях – у меня это почему-то не вышло 
пришлось изобрести велосипед (аж две штуки):
1. (UNIX_TIMESTAMP(`date2`)-UNIX_TIMESTAMP(`date1`))/86400)
2. (TO_DAYS(`date2`) - TO_DAYS(`date1`))
например, узнать сколько прошло дней от даты `date1`:
(TO_DAYS(NOW()) - TO_DAYS(`date1`))
вот собственно и всё
разработка
SQL, дата, программирование, разница

Здесь я уже писал, как ардуина может читать RSS-ленту. Используя тот же принцип можно сделать следующий шаг и научить ардуину вести свой блог 
Далее…
идеи, разработка
Arduino, CraftDuino, livestreet, python, блог, идея, модуль, плата, управлять

Нам всем не хватает идеальности и я решил восполнить это факт маленьким модулем
Пока он делает только одно – отображает круг друзей в профиле пользователя.
Надеюсь это только начало!
Далее…
идеи, разработка
iFace, livestreet, moowheel, дерево, друг, идеальный, идея, интерфейс, круг, модуль
Комментарии