﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>语源科技BlogJava-J-XMoses</title><link>http://www.blogjava.net/xmoses/</link><description>J-XMoses</description><language>zh-cn</language><lastBuildDate>Wed, 15 Apr 2026 11:55:53 GMT</lastBuildDate><pubDate>Wed, 15 Apr 2026 11:55:53 GMT</pubDate><ttl>60</ttl><item><title>typedef keyword in C++</title><link>http://www.blogjava.net/xmoses/archive/2007/03/22/105614.html</link><dc:creator>Java-XMoses</dc:creator><author>Java-XMoses</author><pubDate>Thu, 22 Mar 2007 09:48:00 GMT</pubDate><guid>http://www.blogjava.net/xmoses/archive/2007/03/22/105614.html</guid><wfw:comment>http://www.blogjava.net/xmoses/comments/105614.html</wfw:comment><comments>http://www.blogjava.net/xmoses/archive/2007/03/22/105614.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xmoses/comments/commentRss/105614.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xmoses/services/trackbacks/105614.html</trackback:ping><description><![CDATA[
		<p class="parajust">read this article -&gt; <a href="http://www.functionx.com/cpp/keywords/typedef.htm">http://www.functionx.com/cpp/keywords/typedef.htm</a><br />It said that "The <b>typedef</b> keyword can be followed by an attribute before the data type. In its simplest form, the attribute can be that of an access level such as <b>public</b>, <b>private</b>, or <b>protected</b>." and provide a examples:<br /><br /></p>
		<hr />
		<pre>#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;

<font color="#ff0000">typedef struct Student;
typedef class Country;</font>

typedef public short SmallNumber;
typedef private unsigned int Positive;
typedef protected double* PDouble;
typedef public string FiveStrings[5];
typedef private double (*Addition)(double value1, double value2);

struct Student
{
	string FirstName;
	string LastName;
};

<font color="#ff0000">typedef struct _Empl</font>
{
	string FullName;
	double HourlySalary;
}Employee;

class Country
{
	string Name;
	string Capital;
	string Code;
};

double Add(double x, double y)
{
	double result = x + y;
	return result;
}

<font color="#ff0000">typedef enum EmplStatus { esFullTime, esPartTime, esContractor };
</font>typedef Student *PStudent;
typedef Country *PCountry;

int main()
{
	Student pupil;
	Country pais;
	EmplStatus emplst;
	PStudent ptrStd = new Student;
	PCountry pPais = new Country;

	return 0;
}<br /><hr /></pre>
		<br />I found that I can't compile it on my Linux using g++.<br /><br /><hr />
[root@sd1 xxx]# g++ typedef.cpp -o typedef<br />typedef.cpp:8: error: expected unqualified-id before 'public'<br />typedef.cpp:9: error: expected unqualified-id before 'private'<br />typedef.cpp:10: error: expected unqualified-id before 'protected'<br />typedef.cpp:11: error: expected unqualified-id before 'public'<br />typedef.cpp:12: error: expected unqualified-id before 'private'<br /><hr /><br />Why, can anybody tell me?<br />:)<img src ="http://www.blogjava.net/xmoses/aggbug/105614.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xmoses/" target="_blank">Java-XMoses</a> 2007-03-22 17:48 <a href="http://www.blogjava.net/xmoses/archive/2007/03/22/105614.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>C++ operator precedence</title><link>http://www.blogjava.net/xmoses/archive/2007/03/22/105599.html</link><dc:creator>Java-XMoses</dc:creator><author>Java-XMoses</author><pubDate>Thu, 22 Mar 2007 09:11:00 GMT</pubDate><guid>http://www.blogjava.net/xmoses/archive/2007/03/22/105599.html</guid><wfw:comment>http://www.blogjava.net/xmoses/comments/105599.html</wfw:comment><comments>http://www.blogjava.net/xmoses/archive/2007/03/22/105599.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xmoses/comments/commentRss/105599.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xmoses/services/trackbacks/105599.html</trackback:ping><description><![CDATA[C++ operator precedence<a href="http://www.cppreference.com/operator_precedence.html"><br />http://www.cppreference.com/operator_precedence.html</a><br /><table class="code-table" border="1"><tbody><tr><th class="code-table-th">Precedence</th><th class="code-table-th">Operator</th><th class="code-table-th">Description</th><th class="code-table-th">Example</th><th class="code-table-th">Associativity</th></tr><tr><td class="code-table-td">1</td><td class="code-table-td">()<br />[]<br />-&gt;<br />.<br />::<br />++<br />--</td><td class="code-table-td">Grouping operator<br />Array access<br />Member access from a pointer<br />Member access from an object<br />Scoping operator<br />Post-increment<br />Post-decrement</td><td class="code-table-td">(a + b) / 4;<br />array[4] = 2;<br />ptr-&gt;age = 34;<br />obj.age = 34;<br />Class::age = 2;<br />for( i = 0; i &lt; 10; i++ ) ...<br />for( i = 10; i &gt; 0; i-- ) ...</td><td class="code-table-td">left to right</td></tr><tr><td class="code-table-td">2</td><td class="code-table-td">!<br />~<br />++<br />--<br />-<br />+<br />*<br />&amp;<br />(type)<br /><a href="http://www.cppreference.com/keywords/sizeof.html">sizeof</a></td><td class="code-table-td">Logical negation<br />Bitwise complement<br />Pre-increment<br />Pre-decrement<br />Unary minus<br />Unary plus<br />Dereference<br />Address of<br />Cast to a given type<br />Return size in bytes</td><td class="code-table-td">if( !done ) ...<br />flags = ~flags;<br />for( i = 0; i &lt; 10; ++i ) ...<br />for( i = 10; i &gt; 0; --i ) ...<br />int i = -1;<br />int i = +1;<br />data = *ptr;<br />address = &amp;obj;<br />int i = (int) floatNum;<br />int size = sizeof(floatNum);</td><td class="code-table-td">right to left</td></tr><tr><td class="code-table-td">3</td><td class="code-table-td">-&gt;*<br />.*</td><td class="code-table-td">Member pointer selector<br />Member pointer selector</td><td class="code-table-td">ptr-&gt;*var = 24;<br />obj.*var = 24;</td><td class="code-table-td">left to right</td></tr><tr><td class="code-table-td">4</td><td class="code-table-td">*<br />/<br />%</td><td class="code-table-td">Multiplication<br />Division<br />Modulus</td><td class="code-table-td">int i = 2 * 4;<br />float f = 10 / 3;<br />int rem = 4 % 3;</td><td class="code-table-td">left to right</td></tr><tr><td class="code-table-td">5</td><td class="code-table-td">+<br />-</td><td class="code-table-td">Addition<br />Subtraction</td><td class="code-table-td">int i = 2 + 3;<br />int i = 5 - 1;</td><td class="code-table-td">left to right</td></tr><tr><td class="code-table-td">6</td><td class="code-table-td">&lt;&lt;<br />&gt;&gt;</td><td class="code-table-td">Bitwise shift left<br />Bitwise shift right</td><td class="code-table-td">int flags = 33 &lt;&lt; 1;<br />int flags = 33 &gt;&gt; 1;</td><td class="code-table-td">left to right</td></tr><tr><td class="code-table-td">7</td><td class="code-table-td">&lt;<br />&lt;=<br />&gt;<br />&gt;=</td><td class="code-table-td">Comparison less-than<br />Comparison less-than-or-equal-to<br />Comparison greater-than<br />Comparison geater-than-or-equal-to</td><td class="code-table-td">if( i &lt; 42 ) ...<br />if( i &lt;= 42 ) ...<br />if( i &gt; 42 ) ...<br />if( i &gt;= 42 ) ...</td><td class="code-table-td">left to right</td></tr><tr><td class="code-table-td">8</td><td class="code-table-td">==<br />!=</td><td class="code-table-td">Comparison equal-to<br />Comparison not-equal-to</td><td class="code-table-td">if( i == 42 ) ...<br />if( i != 42 ) ...</td><td class="code-table-td">left to right</td></tr><tr><td class="code-table-td">9</td><td class="code-table-td">&amp;</td><td class="code-table-td">Bitwise AND</td><td class="code-table-td">flags = flags &amp; 42;</td><td class="code-table-td">left to right</td></tr><tr><td class="code-table-td">10</td><td class="code-table-td">^</td><td class="code-table-td">Bitwise exclusive OR</td><td class="code-table-td">flags = flags ^ 42;</td><td class="code-table-td">left to right</td></tr><tr><td class="code-table-td">11</td><td class="code-table-td">|</td><td class="code-table-td">Bitwise inclusive (normal) OR</td><td class="code-table-td">flags = flags | 42;</td><td class="code-table-td">left to right</td></tr><tr><td class="code-table-td">12</td><td class="code-table-td">&amp;&amp;</td><td class="code-table-td">Logical AND</td><td class="code-table-td">if( conditionA &amp;&amp; conditionB ) ...</td><td class="code-table-td">left to right</td></tr><tr><td class="code-table-td">13</td><td class="code-table-td">||</td><td class="code-table-td">Logical OR</td><td class="code-table-td">if( conditionA || conditionB ) ...</td><td class="code-table-td">left to right</td></tr><tr><td class="code-table-td">14</td><td class="code-table-td">? :</td><td class="code-table-td">Ternary conditional (if-then-else)</td><td class="code-table-td">int i = (a &gt; b) ? a : b;</td><td class="code-table-td">right to left</td></tr><tr><td class="code-table-td">15</td><td class="code-table-td">=<br />+=<br />-=<br />*=<br />/=<br />%=<br />&amp;=<br />^=<br />|=<br />&lt;&lt;=<br />&gt;&gt;=</td><td class="code-table-td">Assignment operator<br />Increment and assign<br />Decrement and assign<br />Multiply and assign<br />Divide and assign<br />Modulo and assign<br />Bitwise AND and assign<br />Bitwise exclusive OR and assign<br />Bitwise inclusive (normal) OR and assign<br />Bitwise shift left and assign<br />Bitwise shift right and assign</td><td class="code-table-td">int a = b;<br />a += 3;<br />b -= 4;<br />a *= 5;<br />a /= 2;<br />a %= 3;<br />flags &amp;= new_flags;<br />flags ^= new_flags;<br />flags |= new_flags;<br />flags &lt;&lt;= 2;<br />flags &gt;&gt;= 2;</td><td class="code-table-td">right to left</td></tr><tr><td class="code-table-td">16</td><td class="code-table-td">,</td><td class="code-table-td">Sequential evaluation operator</td><td class="code-table-td">for( i = 0, j = 0; i &lt; 10; i++, j++ ) ...</td><td class="code-table-td">left to right</td></tr></tbody></table><br /><br />Finally, I find basic knowledge is important.<img src ="http://www.blogjava.net/xmoses/aggbug/105599.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xmoses/" target="_blank">Java-XMoses</a> 2007-03-22 17:11 <a href="http://www.blogjava.net/xmoses/archive/2007/03/22/105599.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>I know Why I failed so many times in trying to connect mysql installed on other server</title><link>http://www.blogjava.net/xmoses/archive/2006/03/24/37276.html</link><dc:creator>Java-XMoses</dc:creator><author>Java-XMoses</author><pubDate>Fri, 24 Mar 2006 13:42:00 GMT</pubDate><guid>http://www.blogjava.net/xmoses/archive/2006/03/24/37276.html</guid><wfw:comment>http://www.blogjava.net/xmoses/comments/37276.html</wfw:comment><comments>http://www.blogjava.net/xmoses/archive/2006/03/24/37276.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xmoses/comments/commentRss/37276.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xmoses/services/trackbacks/37276.html</trackback:ping><description><![CDATA[Once upon a time, I see on some document telling that "updating the host field of user record to % can enable user connect to the mysql database from any host", so I followed the guide,tried from other side and failed.<br />Today I finally found the reason:<br />You need exec reload to make the change take effect using "./mysqladmim -uroot -p&lt;your password&gt; reload"<br /><br />So I can connect from other PC to the mysql Server.<br /><br />Just trick, but very useful.<img src ="http://www.blogjava.net/xmoses/aggbug/37276.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xmoses/" target="_blank">Java-XMoses</a> 2006-03-24 21:42 <a href="http://www.blogjava.net/xmoses/archive/2006/03/24/37276.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>kbps or Kbps</title><link>http://www.blogjava.net/xmoses/archive/2006/03/03/33514.html</link><dc:creator>Java-XMoses</dc:creator><author>Java-XMoses</author><pubDate>Fri, 03 Mar 2006 09:40:00 GMT</pubDate><guid>http://www.blogjava.net/xmoses/archive/2006/03/03/33514.html</guid><wfw:comment>http://www.blogjava.net/xmoses/comments/33514.html</wfw:comment><comments>http://www.blogjava.net/xmoses/archive/2006/03/03/33514.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xmoses/comments/commentRss/33514.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xmoses/services/trackbacks/33514.html</trackback:ping><description><![CDATA[<P>Short for kilobits per second, a measure of data transfer speed. Modems, for example, are measured in Kbps. Note that one Kbps is 1,000 bits per second, whereas a KB (kilobyte) is 1,024 bytes. Data transfer rates are measured using the decimal meaning of K whereas data storage is measured using the powers-of-2 meaning of K. Technically, kbps should be spelled with a lowercase k to indicate that it is decimal but almost everyone spells it with a capital K. <BR></P><img src ="http://www.blogjava.net/xmoses/aggbug/33514.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xmoses/" target="_blank">Java-XMoses</a> 2006-03-03 17:40 <a href="http://www.blogjava.net/xmoses/archive/2006/03/03/33514.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>The META-INF directory in the JAR file</title><link>http://www.blogjava.net/xmoses/archive/2006/03/01/33067.html</link><dc:creator>Java-XMoses</dc:creator><author>Java-XMoses</author><pubDate>Wed, 01 Mar 2006 13:39:00 GMT</pubDate><guid>http://www.blogjava.net/xmoses/archive/2006/03/01/33067.html</guid><wfw:comment>http://www.blogjava.net/xmoses/comments/33067.html</wfw:comment><comments>http://www.blogjava.net/xmoses/archive/2006/03/01/33067.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xmoses/comments/commentRss/33067.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xmoses/services/trackbacks/33067.html</trackback:ping><description><![CDATA[<P>The META-INF directory, if it exists, is used to store package and extension configuration data, including security, versioning, extension and services. <BR>The following files/directories in the META-INF directory are recognized and interpreted by the Java 2 Platform to configure applications, extensions, class loaders <BR>and services: </P>
<UL>
<LI><FONT face="Courier New">MANIFEST.MF</FONT></LI></UL>
<P>.................<BR><BR>Tag libraries should be packed with their .tlds packed in their META-INF directory. JSP engines look through the JAR files in the /lib directory for TLDs and add the tags as necessary. Then when you are installing tag libraries, you only need to deliver one file - the JAR - no changes to the web.xml, no extra tlds hanging around. </P><img src ="http://www.blogjava.net/xmoses/aggbug/33067.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xmoses/" target="_blank">Java-XMoses</a> 2006-03-01 21:39 <a href="http://www.blogjava.net/xmoses/archive/2006/03/01/33067.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Use the DBCP in Application that running multiple threads</title><link>http://www.blogjava.net/xmoses/archive/2006/02/21/31820.html</link><dc:creator>Java-XMoses</dc:creator><author>Java-XMoses</author><pubDate>Tue, 21 Feb 2006 08:34:00 GMT</pubDate><guid>http://www.blogjava.net/xmoses/archive/2006/02/21/31820.html</guid><wfw:comment>http://www.blogjava.net/xmoses/comments/31820.html</wfw:comment><comments>http://www.blogjava.net/xmoses/archive/2006/02/21/31820.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xmoses/comments/commentRss/31820.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xmoses/services/trackbacks/31820.html</trackback:ping><description><![CDATA[Just use the BasicDataSourceFactory,<BR>I will write a snippet of code to test the DBCP. How should I do ?? Hmmm~~~<BR>Let me try and give out a test result.<BR><BR>I am a tester<IMG height=19 src="http://www.blogjava.net/Emoticons/regular_smile.gif" width=19 border=0><img src ="http://www.blogjava.net/xmoses/aggbug/31820.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xmoses/" target="_blank">Java-XMoses</a> 2006-02-21 16:34 <a href="http://www.blogjava.net/xmoses/archive/2006/02/21/31820.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Route selection in routing table</title><link>http://www.blogjava.net/xmoses/archive/2006/02/21/31743.html</link><dc:creator>Java-XMoses</dc:creator><author>Java-XMoses</author><pubDate>Tue, 21 Feb 2006 01:58:00 GMT</pubDate><guid>http://www.blogjava.net/xmoses/archive/2006/02/21/31743.html</guid><wfw:comment>http://www.blogjava.net/xmoses/comments/31743.html</wfw:comment><comments>http://www.blogjava.net/xmoses/archive/2006/02/21/31743.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/xmoses/comments/commentRss/31743.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xmoses/services/trackbacks/31743.html</trackback:ping><description><![CDATA[Multiple routes with same prefix(IP address and Netmask) can exist in the routing table.Where the routing table contains multiple routes to the same destination,the preference values of each router are compared. <FONT color=#008000>The route that has the lowest preference value is selected</FONT>. If the preference values are the same, the metrics values are then compared.<FONT color=#008000>The route that has the lowest metric value is then selected.</FONT><img src ="http://www.blogjava.net/xmoses/aggbug/31743.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xmoses/" target="_blank">Java-XMoses</a> 2006-02-21 09:58 <a href="http://www.blogjava.net/xmoses/archive/2006/02/21/31743.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Why the select method of JTextArea don't take effect.</title><link>http://www.blogjava.net/xmoses/archive/2006/02/20/31629.html</link><dc:creator>Java-XMoses</dc:creator><author>Java-XMoses</author><pubDate>Mon, 20 Feb 2006 05:32:00 GMT</pubDate><guid>http://www.blogjava.net/xmoses/archive/2006/02/20/31629.html</guid><wfw:comment>http://www.blogjava.net/xmoses/comments/31629.html</wfw:comment><comments>http://www.blogjava.net/xmoses/archive/2006/02/20/31629.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.blogjava.net/xmoses/comments/commentRss/31629.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/xmoses/services/trackbacks/31629.html</trackback:ping><description><![CDATA[<P><FONT size=2>In my swing UI, there is JTextArea component named "textarea_webpage", I want to mark some sentence in the textarea as marked using program just as user selecting them using mouse.<BR>------------------------------------------------------------Code Below-------------------------------------------------<BR></FONT><FONT size=2><FONT face="Courier New">textarea_webpage.setSelectionColor(Color.black);<BR>textarea_webpage.setSelectedTextColor(Color.white);<BR>textarea_webpage.setSelectedTextColor(Color.white);<BR>textarea_webpage.select(urlItem.getStart(),urlItem.getEnd()); // the urlItem is self-defined object to store positon information of certain sentences<BR></FONT>----------------------------------------------------------------------------------------------------------------------------<BR><BR>Every time the code is executed, there is nothing take place in my textarea.<BR>After goolge for the answer in the net.<BR>I found that I forgot the code&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</FONT><FONT size=2><FONT face="Courier New">textarea_webpage.getCaret().setSelectionVisible(true);<BR></FONT><BR>There are so many tricks in Swing designing, I'm just a beginner.<BR>Pay more attention.<IMG height=19 src="http://www.blogjava.net/Emoticons/regular_smile.gif" width=19 border=0><BR></P></FONT><img src ="http://www.blogjava.net/xmoses/aggbug/31629.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/xmoses/" target="_blank">Java-XMoses</a> 2006-02-20 13:32 <a href="http://www.blogjava.net/xmoses/archive/2006/02/20/31629.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>