| wang 的个人资料Nirvana照片日志列表 | 帮助 |
|
6月17日 有没有人想去San Bernardino Hiking的San Bernardino Peak
Summary: This trail is a no-nonsense elevation gainer. however, it maintains a steady grade for a large portion of the trip. You begin in a mixed oak/pine forest and briskly head up the side of the ridge. Two miles into the trail you enter the San Gorgonio Wilderness, which is marked by a sign. The trail evens off a bit here, but not too much. You will be climbing and climbing some more. In two more miles you will reach a relatively flat area covered with Manzanita and chaparral. This flat area is your halfway reprieve, and it continues until you reach the trail junction for Columbine Springs and John's Meadow. From here it is 3.6 miles up and up to the top, I can't say much for the view, because I went during very wintry weather, and I couldn't see a thing. I imagine that on a clear day though, you can see all of Southern California. One neat thing is that you pass Colonel Washington's baseline monument which was the 1852 survey point for all land in SoCal. Trailhead: Take the 10 Freeway to Redlands, exit Ford, head North and follow Ford (it will turn into Judson) to Lugonia. There are no signs in Redlands that this is the 38, but it is. Turn right, heading East towards the mountains. Two and a half miles down the road, you will see Mill Creek Ranger Station. You need to stop here and get your permit. If you go during the week, getting the free permit should not be a problem, weekends maybe (most people want to go to San Gorgonio, so you might be okay anyway.) Continue on the 38, until you see the sign for Angelus Oaks. The trail is not marked from this direction, so as soon as you enter Angelus Oaks, turn right onto a road with some houses, follow it until you see the signs for the trail and trail parking. Park away from the roadway and begin your hike. (Lat:34.12222 Lon:-116.92255) Trail Guides for San Bernardino Peak: San Bernardino Mountain Trails - 100 Hikes in Southern California by John W. Robinson (Wilderness Press) Day Hikers Guide to Southern California by John McKinney (Olympus Press) Best Seasons: Fall, Spring, Summer, User Groups: Hikers, Dogs, Ranger Contact: San Bernardino National Forest (909) 794-1123 - Mill Creek Ranger Station Localhikes Reporter: This hike was submitted by Allen Riedel, who has posted 123 other hikes on this site. To visit this reporters web site, click here. Trail Reviews Page 1 of 2 Submit your own review Strenuous hike but the trail is well maintained. Didn't make it to the peak, started too late. There is water at Vivian Creek Camp. To get water from Halfway Camp you need to hike about 100 yards up the dry creek bed. There is water again at High Creek. Lots of smog - shame. Only 9 people on the trail besides me on a holiday? Unreal!! Thankful for an early start as things really heated up through the day, and the manzanita on the descent was hot! But what a gorgeous trail, and views for miles in all directions. Still wildflowers blooming and water in Limber Pine Creek. Big thunderstorms brewed around 1:00 to the east but stayed there, despite growling at me and dumping rain on that side of the range. Came down too fast (worries about rain!), so would like to revisit and ease my way down for more enjoyment. Can't wait to explore more of the peaks along the ridge! I love this trail. Cloudy, cool (50s), and breezy today. I was hoping to see more spring flowers, but the ones that were there--beautiful four-pedaled yellow flowers and manzanita in bloom--made the hike worthwhile. Only went as far as the Manzanita Flats area today, but it was gorgeous--misty clouds blowing ghost-like across the tops of trees and the steady sound of wind in treetops. Love the rock outcroppings, variations in foliage, trees, and valley views to the north (west was cloud-obscured). See it while you can--bark beetles are ravaging the mountain, evidenced by the many dead trees, standing and fallen. Hiked on Sat 02/19. Made it to Limber Pine Creek at about 9500 feet. Due to time constraints we turned around. Fresh powder and snow drifts made us move slowly. Everthing was iced up and had snow; it was beautiful! Chilly day; around 20F most of the time. Did this as an over night trip and stayed at Limber Pine. Extremly windy at the site! I'm not sure if this is the case year round but it appears to be since there were small windbreaks built at various camp sites. Dawn views were incredible. Pack your trail runners and make a quick ascent of Washington's Monument and San Bernardino peak. Lots of water at the Limber Pine spring. Hiked on 8-13-05. Good elevation gainer. The manzanita meadow area was such a beautiful & different area. The vistas from the Limber Pines Bench to San G and across was breathtaking. On the way down I also was surpised to be able to see Big Bear Lake across another ridge. The trail is well maintained and there is water at the stream above the Limber Campground. I'm a slow hiker and it was a 9 hr hike. This was a good prep hike for Whitney and less crowded than Vivian Ck to San G. Climbed on 7/3/05 by myself. Nice hike. I was turned back at the 2 mile mark by a Ranger. Had to go get a wilderness pass and then returned to start the hike around 3 pm. Reached Limber Pine camp (and away from the crowds)just before sunset. It was just me and two other hikers camping up there. The next morning I set out for the peak. Saw a couple of deer. Pretty sweet views @ the bench just before the monument. Four of us hiked this yesterday. It was in excellent condition. There is still some snow near the summit , but you don't need any special gear. The bugs, however, were pure torture. I have hiked this peak before in July and never experienced the gnat, mosquito and fly attacks like I did yesterday. It must be all the moisture from our exceptinally wet winter. Be warned! Notice: Traveling in the backcountry can be hazardous. You are responsible for informing yourself about these hazards and taking necessary precautions. Information on this web site comes from volunteer reporters and may contain errors or omissions. A current guidebook and proper equipment are essential for safe enjoyment of the hikes posted on this site. Keys: California Hiking, California Trails, California Hikes, San Bernardino County Hiking, San Bernardino County Trails, San Bernardino County Hikes 腿脚懒了两天 又胖了明显发现胸 肚子,增加了脂肪。
脸上还是肉。
眼神还是那么空洞。
操!
我一定要节制肉类和淀粉的摄入!!!
6月7日 《浪客剑心》--壬生狼 [zz]转一篇 别人写的纪录“齐藤一”的文章
《浪客剑心》--壬生狼 “对拔刀齐来说,你没战死,真是最大的不幸”——此话指的就是人称“壬生狼”的前新撰组第三分队组长齐藤一。他是剑心从幕末知道明治时代仍未分出胜负的敌手。以手中一把利刀,在这个私欲横流的新社会中,坚守“恶·即·斩”的信念——齐藤一就是这样一个不得不由衷钦佩的人。
一、狼始终是狼 齐藤一取材与真实的历史形象。幕末的的京都因倒幕运动一片混乱,为了对抗维新志士,幕府挑选了一批优秀的剑客组成新撰组,别称“壬生狼”。齐藤一就是其中出类拔萃的一个,据说铁面无情,常对犯错的组员实行“人斩”。 《浪客剑心》上说道齐藤在明治时化名为“藤田五郎”,做了维新政府的密探。这似乎让人无法理解,但听到他在对政府要员涉海实行“人斩”时说的一段话就会明白——“你们此等维新义士或许以为明治时代是自己开创的吧,不过我们幕府的人却背负着‘失败者’的称号,为明治时代的开创赌上了自己的人生。所以我肯服从政府担任密探一职,就是为了履行生存在明治时代的新撰组的职责,去解决那些蚕食明治时代的流氓……因此大久保也好,什么人也好,只为一己之欲而给国家人民带来灾难的人,我便以‘恶·即·斩’的精神解决他!” 这段话是齐藤一的一生。 尤其是后面那句“养狗用饲料,养人用金钱,要想养壬生狼,那便谁也办不到!”经典至极。 二、冷酷无情的男人 就齐藤的造型来说,很像那种典型的恶人,刚开始让人难以接受,记得第一次在《浪客剑心》的TV上看到他时,就觉得很讨厌,还骂过“蜘蛛头”只类的话,甚至为了打击他而给志志雄和苍紫加油……汗!现在却是我最欣赏的人物之一,所以说第一印象通常不可靠。 对齐藤造型的欣赏是从动笔画他开始的,这时真正的被他的脸部线条所吸引,越画越觉得有种剑心他们所不具备的男性魅力。剑心强硬的一面在于他的剑眉和十字刀疤,左之助则是头巾和直竖的头发,除了这些,剩下的都是优美。而齐藤却具有完全的男性特征。 当年被我骂做“蜘蛛头”的那几缕额前的长发却是最能表现齐藤气质的核心。融阴险与正气于一体,似敌似友,亦正亦邪,正如他拥有“前新撰组第三队组长”和“现明治政府密探”两个互相对立的身份一样。奇怪的矛盾集合起来形成了这个气质独特的男人。 身量高拔,双肩宽阔,即不是肌肉发达,也不像少女漫画的男主角一般纤细修长。 现代化的警服配上一把传统的日本刀;总是敞着最上面的两颗纽扣;腰间跨着枪托,却从不带手枪;无论何时都戴着一双白手套——用“酷”来形容未免流于肤浅;“深沉”也不恰当;“阴沉”是用来形容苍紫的……宇水死前曾说,齐藤至始至终都是个“冷酷无情的家伙“…… 但无论用何种词语来描述,关键在于:他是一个很彻底的男人。 这样的人只能将他与刀刃、鲜血、政治、战争……联想在一起,甚至应该看不的到有女性在他周围一百米以内出没。所以,当他说有妻子时,我是真是从板凳上掉了下来。难怪剑心他们那么吃惊,我都已经很久没被这样吓过。记得上一次是在看《龙珠》时知道贝吉塔和布尔玛好了的时候…… 不过正因此事,令齐藤给人的感觉多了那么一点点一点点温情。 三、烟
从第八集开始,就见齐藤在不断的重复着这样的动作:取烟、点烟、抽烟……具观察,齐藤好象从未将一根烟抽完,总是抽了一两口就扔掉了。这是习惯呢,还是太忙以至于没有抽完一整根烟的闲暇,亦或是警察的薪水很丰厚? 在与志志雄恶战之后,齐藤用最后的(?)力量打破铁门,让剑心他们逃出去,自己却困在了即将崩溃的基地中……左之助大叫道:“齐藤!——”而他却取出香烟,划着火柴,点烟,缓缓的吸一口,然后转身走入熊熊火海中…………这情景怎能叫我忘怀! 四、牙突 新撰组的剑法别具一格。据说是近藤总队长根据日本剑法攻击招数中的“刺突”改进成新撰组的奇招。(“刺突”是在短距离内攻击对手胸脯要害的一招)。新撰组抱定“求精不求多”的原则,将每人最拿手的剑招改进,使之成为能让敌手一招毙命的杀手锏。齐藤的“牙突”堪称此中绝学。 牙突的姿势犀利无比,极具魄力,又分为一、二、三式和零式。(牙突一式:常见的平刺;牙突二式:由上而下攻击;牙突三式:刀刃向上翻卷;牙突零式:在极短距离内,由上半身的力量攻击。)其中以零式最为厉害,齐藤曾以这一招腰斩“十刃”中最强之一的“心眼”宇水。 五、恶·即·斩 齐藤——我且不是或志志雄,但如你这般腰斩而死,可也……太凄惨了。 宇水——妈的! 齐藤——一个无法将自己的信念贯彻始终的人,无论是生是死,都是一场悲剧。 宇水——你倒是一个不管何时何地……都那么冷酷无情的家伙…… 齐藤——咦,难不成你想我对你说些安慰的话? 宇水——哼!……胡说八道……把自己的信念贯彻始终……听上去倒是很容易……齐藤……在逐渐步入现代化的明治社会中……你也能一直以手中的利刀,来贯彻“恶·即·斩”的信念吗? 齐藤——当然。至死不变。 当听到他说那句“一个无法将自己的信念贯彻始终的人,无论是生是死,都是一场悲剧”时,虽是炎热的夏季,却感到脊背发凉、只冒冷汗。就好像这句话不是针对宇水而是针对我所说! 真的很惊讶这个男人可以那么毫不留情地将你隐藏在灵魂最深处的卑弱暴露无遗,再把你努力营造的自信捏得粉碎。最可怕的是,你不得不承认他说的每个字都如此正确! 其实回想他以前就是这样。他能将剑心心中刽子手的灵魂硬生生地揪出来;能对着左之助受伤的肩膀一脚揣下去;能冷笑着说新月村村民“为了活命,就是被视做畜生也不要紧”……——直至那句“至死不变”,才可以长长的叹一口气,然后打心底的折服: 齐藤一,是个了不起的男人。 六、“恶人”与“狼” 齐藤虽属于那种冷酷的人,但不像苍紫一般成天阴沉着脸。他倒是经常笑,只不过都是冷笑和嘲笑罢了。奇怪的是,“壬生狼”和背负着“恶”字的左之助竟是对很好的“搭档”“笨蛋”和“混蛋”一见面就又打又骂,但不知怎的,总觉得他们之间在滋生着一种特殊的情感……(不要误会我的意思) 剑心曾说:“真正是左之助是一个比你想象中更有勇气和正义感的人……” 齐藤答道:“这一点我早就知道。……尽管如此,他仍是个大笨蛋。” 齐藤曾说:“喂,是分胜负的时候了,要插手的话,可要趁现在。” 剑心说道:“……看来你很关心左之助呢!” 齐藤答道:“别胡说,我只怕他一开始就死了。这可有点触霉头。” 左之助:“这里……就是最终决斗地的遗迹……” 弥彦想:“难道他是为了确定齐藤的生死才来……?” 左之助:“我不认为那家伙会死掉,但是,他却没有理由能安全逃脱……究竟是他得胜便逃走了呢?抑或是战死了呢?若他死了,那便是我这残存者得胜。但是他在爆炸中消失了,已不能肯定他的生死……我只好……设法超越他了!” 弥彦道:“超越他?难道你想超越齐藤?” 左之助:“对。不但要超越他的超强实力,还要超越他的一切!” 虽然一个是“无可救药的大傻瓜”,一个是“装模做样阴险男子”,但也许他们都不由自主的被对方人格中的某些东西所吸引。尤其是对左之助来说,满脸嘲讽的齐藤已成为他前进的潜动力,成为值得他“以命相博”去超越的目标。 七、秋风 虽然是意料之中的事,齐藤还是走了。 一个从幕末直至明治时代最强的敌人在剑心的生活中消失了。我是带着崇敬看他远去的背影,但却带着另一种心情回想着那个在窗边抽烟的男人。 剑心向他做最后决斗的挑战时,他是犹豫了的吧。坐在窗边抽了整整一烟缸的烟。是十年的岁月改变了他,还是他改变了自己?——也许他不曾改变,也许这就是真正的齐藤一,从未怀疑过自己动摇过信念有着绝对存在感的“壬生狼”。 风起了,窗帘浮动,齐藤的侧影有种让人恍惚的错觉。模糊的眼中,感觉从未有过的温柔在弥漫。 起风了,秋天到了。 6月4日 被老师骂了原因居然是
Why you try to make money SO desperately? 一脸鄙视!
凄凉亚,到手的 羊肉又退回去了。
其实 我这个年纪的,谁不在钱的问题上贪婪,何况,
兄弟饿都饿瘦了。
罢了 罢了
安逸的生活还没结束,不过肯定的是, 党还期望着我 在不久的将来,
在广大人民群众的广阔天地里,
与天斗,
与地斗,
与人斗,
大有作为一番
6月2日 Static data and function in CPPfrom http://www.icce.rug.nl/documents/cplusplus/cplusplus10.html#l166
The book "C++ Annotations" is helpful to those need refer some basic grammar of CPP. http://www.icce.rug.nl/documents/cplusplus/cplusplus.html Chapter 10: Static data and functionsDon't hesitate to send in feedback: send an e-mail if you like the C++ Annotations; if you think that important material was omitted; if you find errors or typos in the text or the code examples; or if you just feel like e-mailing. Send your e-mail to Frank B. Brokken. In the previous chapters we have shown examples of classes where each object of a class had its own set of In some situations it may be desirable that one or more common data fields exist, which are accessible to all objects of the class. For example, the name of the startup directory, used by a program that recursively scans the directory tree of a disk. A second example is a flag variable, which states whether some specific initialization has occurred: only the first object of the class would perform the necessary initialization and would set the flag to `done'. Such situations are analogous to C code, where several functions need to access the same variable. A common solution in C is to define all these functions in one source file and to declare the variable as a C++'s solution is to define 10.1: Static dataAny data member of a class can be declaredstatic; be it in the public or private section of the class definition. Such a data member is created and initialized only once, in contrast to non-static data members which are created again and again for each separate object of the class.
Static data members are created when the program starts. Note, however, that they are always created as true members of their classes. It is suggested to prefix static member names with Public static data members are like `normal' global variables: they can be accessed by all code of the program, simply using their class names, the scope resolution operator and their member names. This is illustrated in the following example: class Test
{
static int s_private_int;
public:
static int s_public_int;
};
int main()
{
Test::s_public_int = 145; // ok
Test::s_private_int = 12; // wrong, don't touch
// the private parts
return 0;
}
This code fragment is not suitable for consumption by a C++ compiler: it merely illustrates the interface, and not the implementation of static data members, which is discussed next.
10.1.1: Private static dataTo illustrate the use of a static data member which is a private variable in a class, consider the following example: class Directory
{
static char s_path[];
public:
// constructors, destructors, etc. (not shown)
};
The data member s_path[] is a private static data member. During the execution of the program, only one Directory::s_path[] exists, even though more than one object of the class Directory may exist. This data member could be inspected or altered by the constructor, destructor or by any other member function of the class Directory.
Since constructors are called for each new object of a class, static data members are never initialized by constructors. At most they are modified. The reason for this is that static data members exist before any constructor of the class has been called. Static data members are initialized when they are defined, outside of all member functions, in the same way as other global variables are initialized. The definition and initialization of a static data member usually occurs in one of the source files of the class functions, preferably in a source file dedicated to the definition of static data members, called The data member include "directory.ih"
char Directory::s_path[200] = "/usr/local";
In the class interface the static member is actually only declared. In its implementation (definition) its type and class name are explicitly mentioned. Note also that the size specification can be left out of the interface, as shown above. However, its size is (either explicitly or implicitly) required when it is defined.
Note that any source file could contain the definition of the static data members of a class. A separate A second example of a useful private static data member is given below. Assume that a class class Graphics
{
static int s_nobjects; // counts # of objects
public:
Graphics();
~Graphics(); // other members not shown.
private:
void setgraphicsmode(); // switch to graphics mode
void settextmode(); // switch to text-mode
}
The purpose of the variable s_nobjects is to count the number of objects existing at a particular moment in time. When the first object is created, the graphics device is initialized. At the destruction of the last Graphics object, the switch from graphics mode to text mode is made: int Graphics::s_nobjects = 0; // the static data member
Graphics::Graphics()
{
if (!s_nobjects++)
setgraphicsmode();
}
Graphics::~Graphics()
{
if (!--s_nobjects)
settextmode();
}
Obviously, when the class Graphics would define more than one constructor, each constructor would need to increase the variable s_nobjects and would possibly have to initialize the graphics mode.
10.1.2: Public static dataData members can be declared in the public section of a class, although this is not common practice (as this would violate the principle of data hiding). E.g., when the static data members_path[] from section 10.1 would be declared in the public section of the class definition, all program code could access this variable: int main()
{
getcwd(Directory::s_path, 199);
}
Note that the variable s_path would still have to be defined. As before, the class interface would only declare the array s_path[]. This means that some source file would still need to contain the definition of the s_path[] array.
10.1.3: Initializing static const dataStaticconst data members may be initialized in the class interface if these data members are of an integral data type. So, in the following example the first three static data members can be initialized since int enum and double types are integral data members. The last static data member cannot be initialized in the class interface since string is not an integral data type: class X
{
public:
enum Enum
{
FIRST,
};
static int const s_x = 34;
static Enum const s_type = FIRST;
static double const s_d = 1.2;
static string const s_str = "a"; // won't compile
};
Static const integral data members initialized in the class interface are not addressable variables. They are mere symbolic names for their associated values. Since they are not variables, it is not possible to determine their addresses. Note that this is not a compilation problem, but a linking problem. The static const variable that is initialized in the class interface does not exist as an addressable entity.
A statement like class X
{
public:
static int const s_x = 34;
static int const s_y;
};
int const X::s_y = 12;
int main()
{
int const *ip = &X::s_x; // compiles, but fails to link
ip = &X::s_y; // compiles and links correctly
}
10.2: Static member functionsBesides static data members, C++ allows the definition of static member functions. Similar to the concept of static data, in which these variables are shared by all objects of the class, static member functions exist without any associated object of their class.Static member functions can access all static members of their class, but also the members ( class Directory
{
string d_currentPath;
static char s_path[];
public:
static void setpath(char const *newpath);
static void preset(Directory &dir, char const *path);
};
inline void Directory::preset(Directory &dir, char const *newpath)
{
// see the text below
dir.d_currentPath = newpath; // 1
}
char Directory::s_path[200] = "/usr/local"; // 2
void Directory::setpath(char const *newpath)
{
if (strlen(newpath) >= 200)
throw "newpath too long";
strcpy(s_path, newpath); // 3
}
int main()
{
Directory dir;
Directory::setpath("/etc"); // 4
dir.setpath("/etc"); // 5
Directory::preset(dir, "/usr/local/bin"); // 6
dir.preset(dir, "/usr/local/bin"); // 7
}
In the example only public static member functions were used. C++ also allows the definition of private static member functions: these functions can only be called by member functions of their class. 10.2.1: Calling conventionsAs noted in the previous section, static (public) member functions are comparable to classless functions. However, formally this statement is not true, as the C++ standard does not prescribe the same calling conventions for static member functions and for classless global functions.In practice these calling conventions are identical, implying that the address of a static member function could be used as an argument in functions having parameters that are pointers to (global) functions. If unpleasant surprises must be avoided at all cost, it is suggested to create global classless wrapper functions around static member functions that must be used as call back functions for other functions. Recognizing that the traditional situations in which call back functions are used in C are tackled in C++ using template algorithms (cf. chapter 17), let's assume that we have a class int Person::compare(Person const *const *p1, Person const *const *p2);exists. A useful characteristic of this member is that it may directly inspect the required data members of the two Person objects passed to the member function using double pointers.
Most compilers will allow us to pass this function's address as the address of the comparison function for the standard C qsort
(
personArray, nPersons, sizeof(Person *),
reinterpret_cast<int(*)(const void *, const void *)>(Person::compare)
);
However, if the compiler uses different calling conventions for static members and for classless functions, this might not work. In such a case, a classless wrapper function like the following may be used profitably: int compareWrapper(void const *p1, void const *p2)
{
return
Person::compare
(
reinterpret_cast<Person const *const *>(p1),
reinterpret_cast<Person const *const *>(p2)
);
}
resulting in the following call of the qsort() function: qsort(personArray, nPersons, sizeof(Person *), compareWrapper);Note:
|
|||||||||||||||||||||||||||
|
|