p****s 发帖数: 32405 | 1 Hmm, 事实上我写了两个,
#define mynew1(name) new(name)
#define mynew2(size,type,align) new(size,type,align)
至于为什么要定义这样的new macro,别问我, 我也是遵从别人的数据类型. |
|
c****e 发帖数: 1453 | 2 俺觉得是, 在第二种情况下, 编译器不会认为"Hello"后面的 + 重载了, 因为第一个是
const char*, 所以不行. 第一种情况下, 编译器知道 hello这个string后面的+是调用
string::operator +, 加上对于const char*的implicit conversion, 就成了string +
string.
利用这个implicit conversion的时候, 需要第一个是object触发你需要的操作符, 不然编译器会当成普通数据类型处理的. |
|
c********x 发帖数: 84 | 3
+
不然编译器会当成普通数据类型处理的.
hehe, let me put in this way:
1. string + char[] // + is defined in lib
2. char[] + char[] // no way. |
|
P********e 发帖数: 2610 | 4 in c++:
template
T preci(T d, int wid)
{
T decimal = (T)((int)d);
T t = d - decimal;
while(wid-->0) t*=10;
t = (T)((int)t);
while(t>1) t/=10.0;
return decimal + t;
} |
|
b****e 发帖数: 906 | 5 能不能说一下处理不定字长的变量的原理?我用的不是c++。。。 |
|
c*******r 发帖数: 75 | 6 这两种数据类型在C++能够通用吗?他们能够直接互相赋值吗?会有什么问题吗?非常
感谢。 |
|
f*****Q 发帖数: 1912 | 7 可能快,也可能不快,由数据类型(修改:和其他很多条件)决定。 |
|
k****f 发帖数: 3794 | 8 matlab程序就是要求尽量少用for loop,
多用矩阵类型的操作的 |
|
a**a 发帖数: 416 | 9 不为假. 真/假值的条件根据不同的数据类型而不同。比如数值型看是不是为零,
集合型看是不是为空等。 |
|
g*****u 发帖数: 298 | 10 就是要求写程序求一个文件的字符的平均值
unsigned char average(const char *filename)。
我能想到的地方有
文件不存在或者权限不对
计数器溢出(大文件,各种操作系统文件大小有何不同)
应该用什么数据类型和算法,用long double够不够。。。
请问还有什么别的考虑? |
|
G***G 发帖数: 16778 | 11 given a string, how to know its data type using c or c#?
for example, '5555', output is integar
'wwws4444' is string
'1111E-6' is long |
|
s**m 发帖数: 1564 | 12 regular expression can help to a certain degree, however, it may not be a
final oasis if strings are very complicated.
but do you really have to do it this way? where are the data from and why do
they all come in as strings? |
|
a****l 发帖数: 8211 | 13 there is no universal and fail-proof way. You have to have assumptions and
requirements, otherwise the possibilities is just endless.
E.g., tell me, what is "ABC555"? is it a string or hex number? If you can'
t figure it out with your brain, how can you assume the computer can? |
|
i****d 发帖数: 255 | 14 计算中需要用两个大型程序,都是用标准C写的,各有自己的功能。我想将两个程序连起来使用。
两个程序各自定义有自己的复杂的数据结构,不幸的是有几个结构用的是同一个名字,所以造成
命名冲突。比如两个程序都定义了自己的结构叫 Vec 和 Mat ,编译时会有这样的错误:
previous declaration of ‘Vec’ was here
previous declaration of ‘Mat’ was here
当然可以对其中一个程序中的Vec和Mat重新命名,但那样工作量太大,而且原先在这个程序上
开发的所有程序都要修改。
有没有别的办法?C#应该可以,可惜我的程序是用C写的。
先谢过! |
|
h***i 发帖数: 1970 | 15 C没有namespace,没办法,改名吧
连起来使用。
,所以造成
误:
个程序上 |
|
g*********s 发帖数: 1782 | 16 有做refactoring的工具。
另外不能加上namespace,然后用C++编译器么? |
|
R****a 发帖数: 199 | 17 Not sure what you are referring. Do you have a piece of code for example.
&A is the address (pointer) of A, you may cast to the type you want.
Are you talking about something like the following:
http://en.wikipedia.org/wiki/Typeid |
|
h****8 发帖数: 599 | 18 函数返回type_info 或者直接用typeid() |
|
k*******d 发帖数: 1340 | 19 最近在看TCP/IP, 因为习惯用C++,不大喜欢直接用socket那一套C的风格,有什么比较
好用的C++库
吗?最好是跨平台的,windows,linux通用的,我在网上google到几个,不知道哪个比
较好用,最好
是比较成熟的稳定的,支持多线程的。最好能够提供传输各种数据类型的function,我
的意思是,
socket只能以byte的形式传输,在介绍socket的书上看到了很多关于数据传输的东西,
比如int要注
意network type和host type转换,floating两边encode/decode要兼容之类的,有没有
什么库
把这些function都实现好了的,这样直接调用就方便了。谢谢! |
|
|
r****o 发帖数: 1950 | 21 Good. Could you give the detailed answer? |
|
d****p 发帖数: 685 | 22 正解。
我想说的时我和同事关于一个coding的分歧。
我喜欢用boost::tuple来表示一些临时的数据类型:经常我们在函数中局部定义。我的
同事认为用一个结构更可读。这点说他是对的。对比
typedef boost::tuple Position3D;
以及
struct Position3D
{
int x;
int y;
int z;
};
std::vector vertices;
//...
for (std::vector::iterator vertexItr = vertices.begin();
vertexItr != vertices.end(); ++vertexItr)
{
// vertexItr->x = 0; // local struct more readable
// vertexItr->first = 0; // boost::tuple
}
显然局部结构的代码更可读。
不... 阅读全帖 |
|
g*****g 发帖数: 34805 | 23 来自主题: Programming版 - 再抱怨一下 你既然找java工作,把hibernate搞熟应该就够了。
Stored Procedure是DBA干得活,俺也不会,业界用的也不多。
Oracle跟MySql相比,差别也不大,无非是几个数据类型
有少许区别。 |
|
g*****y 发帖数: 7271 | 24 这说的在点子上,呵呵
ITK/VTK 有不少算法是基于模板的。不过如果有选择的话,我宁愿调用IPP的C函数,速
度优化的好太多了。倒不是C++写不了这么优化的函数,而是一般人都不会愿意花这个
精力针对每种数据类型,都把算法优化到极致。
要让我把自己的算法都写成IPP的C style,写一堆ippFilter_(8u,16u,16s,32f)_(1C,
3C,4C),我肯定要跳楼了。 |
|
l********a 发帖数: 1154 | 25 一直被java鼓吹,却并未真正实现的"一切皆对象",在python这里完全实现了
所有数据类型都是对象,python的对象使用的是引用计数,
当引用计数为0或引用refer到不可用对象时,gc模块会定期收集垃圾
举个例子
a = 3.0 # 3.0对象,a引用它,3.0的引用为1
b = 2 # 3.0引用计数+1=2
del a # 3.0引用计数-1=1
del b # 3.0引用计数-1=0,下次gc模块动作时会被清除 |
|
w***g 发帖数: 5958 | 26 假设你所要的函数为 f(N, k), k为最高位1的位置-1,不知道的话就按数据类型设成3
1或63.
举个例子吧。用二进制表示 N = 1011001 (共7位), 求f(N, k=6).
先数整的,从000000 数到 111111 (六个1)。这些数里面出现了所有可能的01组合,所
以1的个数为 k * 2^k / 2 (每个数k=6位,一共有2^k个数,其中一半是1).
然后数1000000到1011001。另N' = N - (1 << k) = 11001。所有这些数的第一位都是1
,所以有N' + 1个1, 再加上从0数到N'出现的1的个数f(N',k-1)
这样就可以递归了
f(N, k) {
if (k == 0) return N;
b = N >> k; // 最高为是0或者1
N' = N - b * (1 << k);
return b * (k * (1 << k-1) // 整的
+ N' + 1) + f(N', k-1); // 零的 // hatemaths指出错误,已改正
}
一共递归k次,k=log N,... 阅读全帖 |
|
P********e 发帖数: 2610 | 27 better than 0(logN), contest的解法。
假设你所要的函数为 f(N, k), k为最高位1的位置-1,不知道的话就按数据类型设成3
1或63.
举个例子吧。用二进制表示 N = 1011001 (共7位), 求f(N, k=6).
先数整的,从000000 数到 111111 (六个1)。这些数里面出现了所有可能的01组合,所
以1的个数为 k * 2^k / 2 (每个数k=6位,一共有2^k个数,其中一半是1).
然后数1000000到1011001。另N' = N - (1 << k) = 11001。所有这些数的第一位都是1
,所以有N' + 1个1, 再加上从0数到N'出现的1的个数f(N',k-1)
这样就可以递归了
f(N, k) {
if (k == 0) return N;
b = N >> k; // 最高为是0或者1
N' = N - b * (1 << k);
return b * k * (1 << k) // 整的
+ N' + 1 + f(N', k-1); // 零的
} |
|
|
h**i 发帖数: 712 | 29 发现了,数据类型错了,我以为端口可以用到32位。
谢谢各位。 |
|
|
g*****g 发帖数: 34805 | 31 编译本来就是一个很functional的例子,但一旦涉及到对现实世界建模就傻逼了。
OO语言大行其道,完全是因为更贴近人类理解的现实世界。
没有语言是完美的,但你的例子举来举去,还停留在一个方法的水平上。FP最大的弱点
之一:
It's very easy to add new functions for existing datatypes, but it's "hard"
to add new datatypes.
这意味着加新数据类型的时候,要在所有相关的function里面加东西。而OO则可以加一
个新类,而不改变原来的代码。毫无疑问,以对象组织代码
,要比以函数组织代码,更贴近人类的思维模式。所以FP永远都不会成为主流语言。OO
语言加一点FP的Feature,才是趋势。
从StackOverflow抄来的。
datatype Animal = Dog | Cat;
fun happyNoise(Dog) = "pant pant"
| happyNoise(Cat) = "purrrr";
fun excitedNoise(Dog) = "bark!"
| exci... 阅读全帖 |
|
N*******t 发帖数: 66 | 32 从语言本身讲,dao应该比octave、matlab强很多吧。
matlab语言出来时,有些编程范式(如OOP)还没出来
或还不成熟,matlab对这些方面支持比较弱。另外matlab
里的数据类型好像也不太灵活,如果想做纯数值计算之外的
事情,就会比较不方便。octave为了跟matlab兼容,应该
从matlab继承了不少类似问题。 |
|
c***d 发帖数: 996 | 33 服务器无非流量延时并发几个指标,数据类型这么简单, 一台机器支持几十万个设备
应该小意思。 |
|
p*****2 发帖数: 21240 | 34
)
我看clojure上,同样的数据类型我可以应用不同的monad上去。这个Scala怎么搞?怎
么感觉每个type自己实现了flatmap和unit,也就是说只有一个monad呢?要想应用另外
的monad要新建一个type吗? |
|
g*****g 发帖数: 34805 | 35 把错误坚持到底有意义吗?stock exchange追求的是low latency,微妙级的latency。
卖票追求的就是high availability,linear scalability,线路再多不怕,人再多不
怕,断电了不怕。你连数据类型都没明白。
至于你能写得比cassandra好,那纯粹意淫了。写一个大家瞅瞅,人mongodb弄了5个亿
,别发财机会不要。
还我那些东西你的系统都能做,我提的系统,用户多100倍,我多扔100倍的硬件上去就
完了,你的行吗?
s。 |
|
T********i 发帖数: 2416 | 36 其实我的职业的好处是我有很多东西可以自己掌控。产品可以自己掌握。团队可以自己
掌握。可以有时间思考和跟踪我感兴趣的产业等等。
Web的那点东西,基本功好的基本上读手册比读小说都容易。一天几百页很轻松。关键
是人家读到的比你读到的要深刻得多。比如读读cassandra durability,立刻就知道
sync和flush的不同。这些都不是某些根底浅的能够体会的。
至于什么NoSQL。这么个直观的东西。2001年底我的只基于key value pair带多级缓存
的数据库的系统已经在交易了。现有的产品,对某一个类型的特定问题优化的很好。如
果我有那个需要,我会直接使用。问题是我不会去创造那个需要。
看到楼上有人提到嵌入式。其实也很有意思。ZigBee SOC的firmware大家都做得很差。
我一直考虑做一个好的。Ember和TI的开发套件都已经买了。也写了一部分了。不知道
什么时候时间允许能够完成。
天下之道,在乎一理,运用之妙,存乎一心。 |
|
p*****2 发帖数: 21240 | 37
有eval的语言太多了吧?为什么只有JS说自己是LISP?
另外LISP里的list是functional language最基本的数据结构,这个JS里根本就没有。
你说的String真的不算什么数据结构,算是数据类型吧。如果有个eval就可以说自己
code=data的话,那可是太多语言有这个特点了。 |
|
W***o 发帖数: 6519 | 38 貌似hibernate可以支持 serialized object query, 刚看到文档里有query.
setProperties(obj)这个说法,晚上回家试试看去 |
|
W***o 发帖数: 6519 | 39 刚才试着做了一下,用 setProperties() 确实可以让hibernate query object (
serialized into database) |
|
y**********u 发帖数: 6366 | 40 性能还可以啊,比mysql多了一些复杂的数据类型,schema change也更容易
问题也有,sharding比较困难,caching用了kernel level的,比起innodb的user-
level要差一些 |
|
g*********e 发帖数: 14401 | 41
你说的是scala吧
写c++的基本可以通过A a;知道A是什么class,有哪些方法。都记在脑子里了。要是不知
道的话,去terminal里grep一下,打开头文件看一看,下次就渐渐熟悉了。
只有jvm上的低效语言才需要靠ide这么跳来跳去。jvm程序员的脑子里只有对象的概念
,没有电脑的概念,就知道创建新类型。 |
|
x***4 发帖数: 1815 | 42 我是需要在server处理比较复杂的business logic。不仅仅是搬运数据 |
|
H******7 发帖数: 1728 | 43 用go做了个小项目 感觉还不如cpp写的舒心呢 err handling 太笨拙。指针用法也是乱
七八糟 基本数据类型也有缺失
★ 发自iPhone App: ChineseWeb 8.7 |
|
s********k 发帖数: 6180 | 44 sensor有两种数据类型,定时的状态信息和突发事件INT信息,所以不能只是每次做
Cron,还得及时处理各种突发信心,而且突发信息才是最关键的,定时信息做系统监控用 |
|
w***g 发帖数: 5958 | 45 我基本同意你的观点。我觉得programming是万法之宗,写前端是programming,
写后台是programming,写底层是programming,做data science在我看来也是
programming。Programming功夫练好了,其实做啥都可以。如果不是混吃等死
我觉得programmer不应该把自己定位为某种特定类型的programming。
但是我这个观点对我参加比赛有非常大的阻碍作用。就是我重头到尾都在追求
代码在设计上的优化和可重用性,最后花了大量力气打包测试。事实证明这些
effort其实对比赛P用没有。如果你们去看目前公布出来的代码,只有我那个
版本是普通人下载了下去可以直接在自己的机器上跑的。
然后就是这个比赛我和我LD都花了非常大的力气。最后没拿到钱只能说是
技不如人。我那个PhD是一半图像处理+一半machine learning。我LP是
生物医学machine learning专家。这次就是冲着领奖金去的。所以我觉得
拿我们出来做例子没有代表性。不过做quant的确实脑子好使,轻松秒
我们做CS和biology的。
最后我不认同把accu... 阅读全帖 |
|
s******u 发帖数: 501 | 46 1. union
2. boost::any
3. boost::variant or std::variant in C++17 |
|
s***l 发帖数: 2769 | 47 俺就是一个字符串,在目的地reinterpret_cast,要啥有啥。 |
|
n******7 发帖数: 12463 | 48 我现在用的就是手动rsync,觉得需要改进
手动的麻烦就不了说,关键是觉得不放心
要删除东西的时候总是要检查几遍,怕还没传到备份服务器就惨了
另外传输过程中往往会fail,各种原因
不同类型的东西,要传到不同的地方
等等
我需要的其实是类似rsync wrapper的东西
--
说到rsync wrapper,搜了一下,还真有一些,哈哈
可以研究一下 |
|
e*******o 发帖数: 4654 | 49 函数用多了自然记住了。
java 也要记method
数据类型 guvest 的那个帖子也提到了, 这个有那么重要?
我觉得程序麻烦的是搞业务逻辑 |
|
g****t 发帖数: 31659 | 50 数据类型影响run 速度。
我的做法基本上是极度糙快猛。因为要不停改算法。看看结果如何。
你可以设想我求解非线性偏微分方程。画网格有3个想法,算梯度有5个,再加上6个边
界条件。
这不算多吧?3*5*6 如果是速度慢的语言,那么效率肯定是不行的。
Fortran/C实现新的想法的效率是很低的。然后为了提高效率,自己会攒一些中间步骤
的软件,
或者函数库,但这些tool和中间步骤本身会限制思路。 |
|