问答:动态链接和静态链接的异同linux系统从加电到用户登陆的过程操作系统的架构图例操作系统如何保证文件和进程的安全TCP/IP协议的组成和结构解释执行和编译执行的异同c语言部分sizeOf对数组,malloc,指针,的值。i++,++i在同一个表达式里求值。指针,数组指针,指针数组,函数指针,函数...
分类:
其他好文 时间:
2014-05-14 07:30:07
阅读次数:
319
###求值从何始?开始思考求值的实际意义是在自己要实现一个解释器的时候,那个时候很头疼,一直在思考求值的自然含义,怎样求值,求值会遇到的问题。甚至思考值本身的意义是什么?
这可能是个很令人不屑一想的问题,试想在使用编程语言的时候,大多数时候是在思考算法,实现业务逻辑,架构设计,思考这个语言本身的问....
分类:
其他好文 时间:
2014-05-14 03:06:30
阅读次数:
254
R++是专为懒人设计的国产编程语言,支持无操作系统裸奔、编译成机器码、android、cocos2dx绑定、中文编程、闭包、惰性求值、JSON、Lisp的S表达式、内联汇编、伪代码、模板、宏、多重继承、元编程、反射、自省、指针、引用。
为什么需要它?
1.目前DIY操作系统一般使用gcc+nasm,R++是编译型语言,抽象能力强过C,可直接内联汇编,不需要面对讨厌的AT...
分类:
编程语言 时间:
2014-05-13 07:44:30
阅读次数:
486
import java.util.Stack;
import java.util.Scanner;
public class Evaluate {
public static void main(String[] args) {
Stack ops=new Stack();
Stack vals=new Stack();
Scanner cin=new Scanner(Syste...
分类:
其他好文 时间:
2014-05-12 06:23:04
阅读次数:
336
原文:编写高质量代码改善C#程序的157个建议[匿名类型、Lambda、延迟求值和主动求值]前言
从.NET3.0开始,C#开始一直支持一个新特性:匿名类型。匿名类型由var、赋值运算符和一个非空初始值(或以new开头的初始化项)组成。匿名类型有如下基本特性:1、既支持简单类型也支持复杂类型。简单类...
分类:
其他好文 时间:
2014-05-10 02:39:02
阅读次数:
523
递增(++)和递减(--)运算符递增和递减运算符有两种形式:前置版本和后置版本,经常在面试的基础题中出现。前置版本:先将运算对象加1(或减1),然后将改变后的对象作为求值结果;后置版本:也将运算对象加1(或减1),但是求值结果是运算对象改变之前的那个值得副本,我们通过下面的代码比较:int
i = ...
分类:
编程语言 时间:
2014-05-08 09:09:40
阅读次数:
459
重载操作符与转换--重载操作符的定义引言: 明智地使用操作符重载可以使类类型的使用像内置类型一样直观!重载操作符的定义 重载操作符是具有特殊名称的函数:保留字operator后接定义的操作符符号。如:Sales_item operator+(const Sales_item &,const Sales_item &);
除了函数调用操作符之外,重载操作符的形参数目(包括成员函数的隐式...
分类:
编程语言 时间:
2014-05-07 07:03:53
阅读次数:
529
唉,刚刚用C++又重新写了一个较完善的表达式求值程序,最后精简后程序还不到100行,这不经让我
想到了大一上学期刚学c语言时自己费了好大的劲,写了几百行而且功能还不是很齐全(当时还不能计算有括号的表
达式)的简单计算器程序。刚把两个程序对比了一下,感触还是挺深的,同时也再一次体现了数据结构在程序设计
中的重要性。
以前的那个程序有漏洞而且逻辑复杂,所以就不提了,只说说现在改进后的程序,其思...
分类:
编程语言 时间:
2014-05-07 06:06:16
阅读次数:
441
1.怎样才能避免这些未定义的求值顺序问题呢?
有几条简单的规则:
1.确保一个表达式最多只修改一个对象:一个简单变量、一个数组或者一个指针指向的位置。
2.如果一个对象在一个表达式中出现一次以上而且在表达式中被修改,则要确保对该对象的所有读访问都被用于计算它的
最终值。这条规则允许表达式i=i+1,尽管i出现了两次而且被修改了,但对i的旧值读取是用于计算i的新值。
3.如果想破坏第一条规...
分类:
编程语言 时间:
2014-05-05 13:07:05
阅读次数:
314
一、后缀表达式求值
后缀表达式也叫逆波兰表达式,其求值过程可以用到栈来辅助存储。
假定待求值的后缀表达式为:6 5 2 3 + 8 * + 3 + *,则其求值过程如下:
(1)遍历表达式,遇到的数字首先放入栈中,依次读入6 5 2 3 此时栈如下所示:
(2)接着读到“+”,则从栈中弹出3和2,执行3+2,计算结果等于5,并将5压入到栈中。...
分类:
其他好文 时间:
2014-05-03 16:59:21
阅读次数:
309