选择特殊符号
选择搜索类型
请输入搜索
八七印象
小洋楼里的故事
娩容楼
末代皇后的凄凉身影
姊妹楼
曾经的辉煌与风雨
阎锡山褛
山西风格老宅80年前就有空调
毛岸青楼
鲜为人知的一段记忆
郑孝胥楼
坠进深渊的“名士”
徐海东楼
见证戎马将军难得的平静时光
李秉衡故居
晚清重臣“官宅”寂寞乡野间
长隆德地主庄园
遗落在庄河山里的“乔家大院”
关东都督府旧址
厚重典雅难藏日本侵华祸心
旅顺博物馆
旅博的往事云烟
旅顺日俄监狱旧址
殖民统治的血腥见证
华俄道胜银行
穿越历史硝烟,而今风采依旧
大云书库
曾藏无价瑰宝,空留扼腕叹息
周家老宅
断指丹心民族魂
阎氏老宅
投影在辽南的中国近代史
量州火车站
老金州人的南站情怀
韩云阶旧居
小楼春秋盛下伪满重臣耻辱
团市委楼
落难军阀孙传芳在此隐居
河本大作旧居
小楼承载着沉重的历史
南山大庙
珍藏和传承大连文化的宝库
政协会馆
南山路125号90多年的沧桑
金璧东旧居
小楼无言,尘封老大连段段回忆
刘长春和郭安娜故居
名人老宅见证家运国运
张本政旧居
殖民羽翼下的寄生者
肃亲王府
定格在旧影中的家国往事
老自然博物馆
收藏大连几代人的记忆
大连艺术展贤馆
“童话小屋”迷住中外艺术家
烟台街
大连开埠的原点
中山广场
压得住场的百年建筑群2100433B
《品读大连(第2季):静像大连老建筑》内容源于大连晚报棒棰岛新闻周刊《大连老建筑》系列报道。这些多建于上个世纪之初的老建筑,承载着太多的岁月风华,到如今依旧古朴典雅。都说“建筑是历史的见证”,在照见中国近现代历史的同时,这些身历百年风雨的“见证者”用它们的存在,雕刻着岁月、过往、人生与命运。
新基础不能压住旧基础要单独做,无法靠近做成100mm防震缝时要做地梁挑出达到你满足要求。
青砖和红砖的硬度是差不多的,只不过是烧制完后冷却方法不同,而红砖是自然冷却,简单一些,所以现在生产红砖多,青砖是水冷却(其实是一种缺氧冷却),操作起来比较麻烦,所以现在生产的比较少。虽然强度、硬度差不...
如果是有代表性建筑风格或者名人故居这样有参考/学习/经济等方面价值的不应拆除
大连老建筑的现状和发展研究
本文是通过对大连的东关街、中山广场、俄罗斯风情街、南山等一批老建筑考察纪实和真实体验而写的。大连的老建筑是大连城市发展中重要的一部分,她记录着大连这座年轻并充满活力的城市所经历的风雨。
养老建筑医学知识课件
养老建筑医学知识课件
广角照相机1个:视角:170°, 127°, 90° 帧频:30 Hz – 120 Hz 像素:最大12百万像素。
水下照片拍摄。
优缺点比较
静多态是以牺牲灵活性而获得运行速度的一种做法;而动多态则恰恰相反,它是以牺牲运行速度而获取灵活性的做法。当然这么说是不全面的,看看下面这个特殊的应用:
使用静多态来实现动多态
这是一种在模板元编程(Template Metaprogramming)中常见的标准编程技巧。在C 中,可以借助模板来实现面向对象语言所支持动多态相似的功能特性(C 中指的就是的virtual 函数)。
下面是C 本身所支持多态形式:(virtual版)
#include
class Base {
public:
virtual void method() = 0;
virtual ~Base() { }
};
class Derived : public Base {
public:
virtual void method()
{
std::cout << "Derived" << std::endl;
}
};
class Derived2 : public Base {
public:
virtual void method()
{
std::cout << "Derived2" << std::endl;
}
};
int main()
{ Base *pBase = new Derived;
pBase->method(); // 输出:"Derived"
delete pBase;
Base *pBase2 = new Derived2;
pBase2->method(); // 输出:"Derived2"
delete pBase2;
return 0;
}
注:C 本身是借助virtual关键字来实现多态的(dynamic polymorphism),而通常编译器是借助virtual look-up tables(虚函数表)来决定该调用那个版本的函数,当然这一过程发生在运行期。
下面是使用CRTP(Curiously Recurring Template Pattern)来实现多与上面对应功能的静多态代码:
#include
template
class Base {
public:
void method()
{
// ...
static_cast(this)->implementation();
// ...
}
};
class Derived : private Base {
public:
void implementation()
{
std::cout << "Derived" << std::endl;
}
};
class Derived2 : private Base {
public:
void implementation()
{
std::cout << "Derived2" << std::endl;
}
};
int main()
{
Base *pBase = new Base();
pBase->method(); // 输出:"Derived"
delete pBase;
Base *pBase2 = new Base();
pBase2->method(); // 输出:"Derived2"
delete pBase2;
return 0;
}
虽然使用这种方式实现的多态和面向对象中的多态从功能上说差不多相同,但是前者没有后者易用、易懂、和能力强大。虽然如此,CRTP作为一种模板设计模式还是很有用的,例如,Boost iterator library就是用了这种方法来实现。
其实在别的语言中也存在CRTP这种模式,如Java,Enum类被定义为Enum>,当然由于Java在模板方面的不足,作为Java语言的使用者,你是没法自己体验这样的用法(Java虽然支持模板特性,但是用户不能自己定义模板,只能使用库里边的模板类)。2100433B