在下面的c ++中的二叉树实现中,使用指针node *和* node有什么区别。我对指针的实现很弱。
struct node
{
int data;
struct node *left;
struct node *right;
};
struct node* newNode(int data)
{
struct node* node = (struct node*)malloc(sizeof(struct node));
node->data = data;
node->left = NULL;
node->right = NULL;
return(node);
}
int main()
{
struct node *root = newNode(1);
root->left = newNode(2);
root->right = newNode(3);
root->left->left = newNode(4);
getchar();
return 0;
}
答案 0 :(得分:0)
使用相同的名称,数据类型和对象名称是相当不好的做法。
PersistenceOptions options = new PersistenceOptions();
DataSource myFancyDataSource = new BasicDataSource();
options.setJtaDataSource(myFancyDataSource);
EntityManagerFactory emf = new EntityManagerFactoryBuilderImpl(
new PersistenceUnitInfoDescriptor(options), null
).build();
EntityManager em = emf.createEntityManager();
现在,这种混乱消失了。